所以我一直在关注本教程:http ://www.rabbitmq.com/tutorials/tutorial-six-java.html ,但我无法让它与直接交换一起使用。
有人可以通过修改代码来帮助我,以便它与直接交换一起使用。
我的目标:用户可以选择要发送到哪台机器,当他们选择我想绑定到那台机器并将其发送到那台机器时。但是当我将队列声明更改为交换声明时,它似乎不起作用。任何帮助将不胜感激!!!
谢谢
所以我一直在关注本教程:http ://www.rabbitmq.com/tutorials/tutorial-six-java.html ,但我无法让它与直接交换一起使用。
有人可以通过修改代码来帮助我,以便它与直接交换一起使用。
我的目标:用户可以选择要发送到哪台机器,当他们选择我想绑定到那台机器并将其发送到那台机器时。但是当我将队列声明更改为交换声明时,它似乎不起作用。任何帮助将不胜感激!!!
谢谢
在 RabbitMQ 中,您将消息发布到交换器,因此您在教程中看到的代码: ,意味着:使用路由密钥channel.basicPublish("", "rpc_queue", props, message.getBytes());
向交换器发送消息。这是教程一中讨论的默认或匿名交换。""
"rpc_queue"
因此,如果您想将消息发送到直接交换,只需将空交换名称更改为您的交换名称。
现在,你为什么要那样做?为什么你不能不声明一个"rpc_queue"
,而是为每台机器声明一个队列,并用它们的名字来寻址它们,在basicPublish
?