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

2020-11-20 14:55:20 浏览数 (1)

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

生产者

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

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

消费者

代码语言:javascript复制
@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 人点赞