工作路由
1、绑定
绑定是交换和队列之间的关系,绑定可以采用额外的routingKey参数
channel.queueBind(queueName, EXCHANGE_NAME, "black" );
绑定键的含义取决于交换类型
2、直接交换
单个绑定:
直接交换背后的路由算法很简单——消息进入 绑定键与消息的 路由键完全匹配的队列
在这个设置中,我们可以看到绑定了两个队列的直接交换X。第一个队列使用绑定键orange进行绑定,第二个队列有两个绑定,一个使用绑定键black,另一个使用green。
在这样的设置中,使用路由键orange发布到交换的消息 将被路由到队列Q1。带有black 或 green路由键的消息将发送到Q2。所有其他消息将被丢弃
多个绑定:
使用相同的绑定键绑定多个队列是完全合法的。在我们的示例中,我们可以使用绑定键black在X和Q1之间添加绑定。在这种情况下,直接交换的行为类似于扇出并将消息广播到所有匹配的队列。带有路由键black的消息将被传送到 Q1和Q2
3、示例
发送消息:
private static final String EXCHANGE_NAME = "direct_logs";
public static void main(String[] argv) throws Exception {
argv = new String[]{
"info"};
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("192.168.6.128");
factory.setPort(5672);
factory.setUsername("admin"