再看rabbitmq的交换器和队列的关系 (3)

接着去测试类RabbitmqApplicationTests中加上fanout的发送测试,然后注释掉direct的单元测试,以便一会造成干扰

@SpringBootTest class RabbitmqApplicationTests { @Autowired private DirectRabbitSender directRabbitSender; @Autowired private FanoutRabbitSender fanoutRabbitSender; @Test void contextLoads() { } // @Test // public void directSendTest(){ // directRabbitSender.send("direct-sender"); // directRabbitSender.send("direct-sender_test"); // } @Test public void fanoutSendTest(){ fanoutRabbitSender.send("fanout-sender_1"); fanoutRabbitSender.send("fanout-sender_2"); } }

代码都完成了,现在我们启动测试类,看看控制台是否正常收到了消息

再看rabbitmq的交换器和队列的关系

看图看图,fanout模式下也完全认证成功!!!那我们可以宣布,文章开头的猜想完全可以实现。

总结

服务端只声明exchange,客户端来创建queue和绑定exchange的方式完全可行。并且在Direct和Fanout模式下都可行。

那我们可以推测在Header模式的交换器和Topic模式的交换器下应该也大差不差。具体各位可自行验证,基本流程和上面direct和fanout的流程差不多。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyddsf.html