RabbitMQ Direct交换机

发布时间 2023-12-02 20:08:40作者: 嘎嘎鸭2

 

代码示例:

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 队列 收到了消息