Rabbitmq---topics模型之动态路由

fanout广播模型,只要生产者一发送,交换机会把所有的消息发给所有的广播者。在广播模式中,++++一条消息会被所有订阅的队列都消费,但是在某种场景下,我们希望不同的消息被不同的队列消费。这时候就要用到direct的类型的交换机。++++

direct类型的的交换机,它的核心作用就是不同的消息可以被不同消费者消费,同时我们也可以让所有的消费者去消费这一个消息,++++生产者向交换机发消息,不能单纯的再发消息了,我在发消息的同时还要指定一个路由key,++++我们可以通过路由++++key++++的不同去决定我们的消息可以被哪些消费者消费。

生产者:

java 复制代码
public class Provider {
    public static void main(String[] args) throws IOException {
        Connection connection = RabbitMQUtils.getConnection();
        Channel channel = connection.createChannel();
        //通道声明指定的交换机 参数1:交换机名称 参数2:交换机类型 fanout广播类型
        // 在交换机不存在的时候创建这个logs交换机
        channel.exchangeDeclare("topics_direct","direct");
        String routingKey = "info";
        channel.basicPublish("topics_direct",routingKey,null,("这是Topics模型发布的,基于route------key").getBytes());
        RabbitMQUtils.closeConnectionAndChanel(channel,connection);
    }
}
相关推荐
脸大是真的好~2 分钟前
EasyExcel的使用
java·excel
小宋10214 分钟前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
JavaGuide25 分钟前
一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!
java·spring boot
吃虫子的人31 分钟前
记录使用Arthas修改线上源码重新加载的一次过程
java·arthas
一晌小贪欢40 分钟前
Python 爬虫进阶:如何利用反射机制破解常见反爬策略
开发语言·爬虫·python·python爬虫·数据爬虫·爬虫python
阿猿收手吧!1 小时前
【C++】异步编程:std::async终极指南
开发语言·c++
figo10tf1 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva1 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露1 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot