所以我一直在关注本教程:http://www.rabbitmq.com/tutorials/tutorial-six-java.html,但我不能让它与直接交换一起工作。
有人可以通过修改代码来帮助我,以便它可以直接交换。
我的目标:用户可以选择要发送到哪台机器,当他们选择我想绑定到该机器并将其发送到该机器时。但是,当我将队列声明更改为交换声明时,它似乎并没有起作用。任何帮助都会非常受欢迎!!!
由于
答案 0 :(得分:0)
在RabbitMQ中,您将消息发布到交换机,因此您在教程中看到的代码:channel.basicPublish("", "rpc_queue", props, message.getBytes());
,表示:使用路由键""
向交换机"rpc_queue"
发送消息。这是教程一中讨论的默认或匿名交换。
因此,如果您要向直接交换发送消息,只需更改交换名称的空交换名称。
现在,你为什么要这样做呢?为什么你不能声明"rpc_queue"
,而是在每台机器上声明一个队列,并在basicPublish
中按名称对它们进行处理?