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 小时前
Python之面向对象和类
java·开发语言
qq_529835353 小时前
ThreadLocal内存泄漏 强引用vs弱引用
java·开发语言·jvm
景彡先生3 小时前
C++并行计算:OpenMP与MPI全解析
开发语言·c++
落笔画忧愁e3 小时前
扣子Coze飞书多维表插件添加数据记录
java·服务器·飞书
量子联盟4 小时前
原创-基于 PHP 和 MySQL 的证书管理系统,免费开源
开发语言·mysql·php
秋千码途5 小时前
小架构step系列08:logback.xml的配置
xml·java·logback
飞翔的佩奇5 小时前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
时来天地皆同力.6 小时前
Java面试基础:概念
java·开发语言·jvm
hackchen6 小时前
Go与JS无缝协作:Goja引擎实战之错误处理最佳实践
开发语言·javascript·golang
云游6 小时前
利用外部Postgresql及zookeeper,启动Apache Dolphinscheduler3.1.9
分布式·postgresql·zookeeper·apache·工作流任务调度