• rabbitMq路由键介绍


    rabbitTemplate.convertAndSend() 是 Spring AMQP 中用于发送消息到 RabbitMQ 的方法。下面是对您提供的代码示例的解释:

    rabbitTemplate.convertAndSend("ums-platform.ex", "ums.report.routing", param);
    
    • 1

    这行代码主要完成以下几个操作:

    rabbitTemplate:这是一个 RabbitTemplate 对象,它是 Spring AMQP 提供的用于与 RabbitMQ 进行交互的模板类。在发送消息时,我们使用这个对象来调用相应的方法。
    
    convertAndSend() 方法:这是 RabbitTemplate 类的一个方法,用于将消息发送到指定的交换机和路由键。
    
    "ums-platform.ex":这是交换机的名称,表示要将消息发送到名为 "ums-platform.ex" 的交换机。
    
    "ums.report.routing":这是路由键,表示消息将根据该路由键进行匹配,并被路由到相应的队列。在这个例子中,消息会被发送到与 "ums.report.routing" 路由键匹配的队列中。
    
    param:这是要发送的消息内容,可以是任意类型的对象。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    总结起来,上述代码的作用是将 param 对象作为消息发送到名为 “ums-platform.ex” 的交换机,并使用 “ums.report.routing” 路由键进行路由。

    请注意,在实际运行代码之前,您需要确保已经正确配置了 RabbitMQ 连接和交换机/队列等相关信息。另外,您还需要在项目中引入 Spring AMQP 相关的依赖。

    当使用 “ums.report.routing” 路由键进行路由时,RabbitMQ会将消息发送到与该路由键匹配的队列。下面是一个示例来说明这个过程:

    假设我们有以下的交换机和队列配置:

    交换机名称:"ums-platform.ex"
    队列1名称:"ums.report.queue1"
    队列2名称:"ums.report.queue2"
    
    • 1
    • 2
    • 3

    我们使用 “ums.report.routing” 路由键进行路由。

    首先,我们需要将队列1和队列2绑定到交换机,同时指定它们的路由键:

    @Bean
    public Binding binding1(Queue queue1, DirectExchange exchange) {
        return BindingBuilder.bind(queue1).to(exchange).with("ums.report.routing");
    }
    
    @Bean
    public Binding binding2(Queue queue2, DirectExchange exchange) {
        return BindingBuilder.bind(queue2).to(exchange).with("ums.report.routing");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在上述代码中,binding1 方法将队列1绑定到交换机,并使用 “ums.report.routing” 路由键进行绑定。同样,binding2 方法将队列2绑定到交换机,并使用相同的路由键进行绑定。

    然后,我们可以通过以下方式发送消息到交换机,并使用 “ums.report.routing” 路由键进行路由:

    rabbitTemplate.convertAndSend("ums-platform.ex", "ums.report.routing", message);
    
    • 1

    在上述代码中,我们使用 rabbitTemplate.convertAndSend() 方法将 message 消息发送到交换机 “ums-platform.ex”,并指定路由键为 “ums.report.routing”。

    根据上述配置和代码,如果消息发送成功,RabbitMQ 将根据路由键 “ums.report.routing” 将该消息路由到与之匹配的队列。在我们的示例中,消息将被路由到队列1和队列2。

    请注意,这只是一个示例,实际使用时您需要确保正确设置交换机、队列以及它们之间的绑定关系,并且确保消费者正确监听相应的队列以接收消息。

  • 相关阅读:
    linux之网络配置
    opencv图像放缩与插值-resize函数
    SQL基本查询
    给电脑重装系统后修改远程桌面端口的方法
    以太坊 layer2: optimism 源码学习(二) 提现原理
    【已解决】chrome视频无法自动播放的问题
    第三章 内存管理 四、连续分配管理方式
    【安卓环境搭建报错的解决】
    第十一章 JavaScript操作DOM对象
    Python requests库大全
  • 原文地址:https://blog.csdn.net/weixin_44060488/article/details/134176297