RabbitMQ Direct交换机

代码示例:
1. 交换机绑定了两个队列,并给它们设置了RoutingKey

2. publisher 发送者给 Direct 交换机发消息时,第二个参数指定 RoutingKey:
@GetMapping("/mq03")
public void mq03(){
    String exchangeName = "hmall.direct";
    String msg = "hello, 红色";
    //三个参数:交换机名称、RoutingKey、要发送的消息
    rabbitTemplate.convertAndSend(exchangeName, "red", msg);
}
3. 给这两个队列分别绑定一个消费者:
@RabbitListener(queues = "direct.queue1")
public void listenQueue03(String msg) {
System.out.println("消费者收到了direct.queue1的消息:" + msg);
}
@RabbitListener(queues = "direct.queue2")
public void listenQueue04(String msg) {
System.out.println("消费者收到了direct.queue2的消息:" + msg);
}
4. 打印结果:只有 queue1 队列 收到了消息

 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号