springAMQP自定义fanout交换机进行消息的广播

rabbitmq一共有三种交换机:

  1. fanout--广播
  2. direct--定向
  3. topic--话题

rabbitmq-web端

首先我们需要建立一个名叫cybg.fanout交换机与两个自定义的队列用于测试广播效果

我这里就起名字叫做fanout_queue1&fanout_queue2

项目中:

首先对我们的Listener加入对上面两个队列的监听

复制代码
@RabbitListener(queues = "fanout_queue1")
public void fanoutQ1(String msg) throws InterruptedException {
    System.out.println("fanout1接收到的msg:"+msg);
    Thread.sleep(20);
}


@RabbitListener(queues = "fanout_queue2")
public void fanoutQ2(String msg) throws InterruptedException {
    System.out.println("fanout2接收到的msg:"+msg);
    Thread.sleep(20);
}

然后我们可以在springtest中添加对于发消息的demo

复制代码
@Test
void testSendMsgToFanout(){
    String exchangeName = "cybg.fanout";
    String msg = "fanout everyone";
    rabbitTemplate.convertAndSend(exchangeName,null,msg);
}

这里和直接发送到队列不同的是,此处的参数变为了交换机名字、routeKey、message

运行listener服务可以发现我们的队列已经可以拿到我们对交换机发送的消息

复制代码
fanout1接收到的msg:fanout everyone
fanout2接收到的msg:fanout everyone
相关推荐
宏基骑士1 分钟前
【java面向对象二】static(一)
java·开发语言
尘浮生11 分钟前
Java项目实战II基于Java+Spring Boot+MySQL的服装厂服装生产管理系统的设计与实现
java·开发语言·spring boot·后端·mysql·maven·intellij-idea
学步_技术20 分钟前
Python编码系列—Python建造者模式:构建复杂对象的优雅之道
开发语言·python·建造者模式
项目笔记与工具库24 分钟前
Java并发工具类详解:CountDownLatch与CyclicBarrier
java·开发语言·python
敲代码的奥豆1 小时前
C++:日期类的实现
开发语言·c++
看山还是山,看水还是。1 小时前
c#进度条实现方法
c语言·开发语言·笔记·c#
孑么1 小时前
C# 委托与事件 观察者模式
开发语言·unity·c#·游戏引擎·游戏程序
敲代码不忘补水1 小时前
Python Pickle 与 JSON 序列化详解:存储、反序列化与对比
开发语言·python·json
蜡笔小新星1 小时前
机器学习和深度学习的区别
开发语言·人工智能·经验分享·深度学习·学习·机器学习
liwulin05062 小时前
java-在ANTLR中BaseListner的方法和词法规则的关系0.5.0
java·开发语言