这一篇还是讲交换机,direct交换机
direct:定向
这个交换机其实是在binding的时候有一个对应的bindingKey,所以可以做到定向发送的意思,类似于私聊,但是如果bindingKey相同,其实等同于是fanout交换机,所以总的来说,direct这个交换机功能比fanout交换机更加强大,适用于更加复杂业务
一开始,我们同样需要创建几个队列
然后我们需要建立一个新的交换机
在这里,我们需要将这个转换机滴类型选择为direct类型
然后我们需要bind,但是最重要事情是,我们需要在这里加上routingKey
然后我们写上direct.queue2
然后我们书写消费者,监听对应的消息
@RabbitListener(queues = "direct.queue1") public void listenDirectQueue1(String msg) throws InterruptedException { System.out.println("消费者1收到了direct.queue1的消息:【" + msg + "】"); } @RabbitListener(queues = "direct.queue2") public void listenDirectQueue2(String msg) throws InterruptedException { System.out.println("消费者2收到了direct.queue2的消息:【" + msg + "】"); }
然后我们写对应方法表示发出信息
@Test void testSendDirect() { String exchangeName = "hmall.direct"; String msg = "红色"; rabbitTemplate.convertAndSend(exchangeName , "red" , msg); }
这里我们可以发现,在这里因为routingKey = "red",这两个队列里面都有对应的参数,所有两个队列都可以收到消息
然后我们让routingKey变成blue
然后同理可知
所以根据这些例子应当可以知道这个的功能是什么
标签:String,菜菜,queue2,direct,RabbitMQ,交换机,msg,void,第六篇 From: https://www.cnblogs.com/codeforceshobby/p/18123657