springboot整合rabbitMQ系列(四)路由模型,就是必须路由键匹配之后,消费者才可以进行消费信息

it2026-08-11  12

第四个模型就是 路由的模型,这个就是多了一个路由键,消息里面有路由键,队列里面有路由键,只有路由键匹配之后,才可以消费者获取到数据。

生产者

@Test void testRouter() { //使用rabbitmq直接往队列里面放数据 // convertAndSend()第一个参数 是 rabbitTemplate.convertAndSend("directs","info","direct 模型里面发送的消息"); }

这个生产者在发送消息的时候,就可以在这个消息里面加路由键了。

消费者

@Component public class RouteConsumer { @RabbitListener(bindings = { @QueueBinding( value = @Queue, //创建临时队列 exchange = @Exchange(value = "directs",type = "direct"), //绑定的交换机 key = {"info","error","warn"} ) }) public void receivel(String message){ System.out.println("message1="+message); } @RabbitListener(bindings = { @QueueBinding( value = @Queue, //创建临时队列 exchange = @Exchange(value = "directs",type = "direct"), //绑定的交换机 key = {"error"} ) }) public void receive2(String message){ System.out.println("message2="+message); } }

因为发送者已经发送了加路由键 的信息,所以消费者也要写对应的路由键,这样路由键进行匹配之后,才可以接受到对应的数据。

最新回复(0)