RabbitMQ RPC с проблемами обмена

#java #rabbitmq #rabbitmq-exchange

#java #rabbitmq #rabbitmq-exchange

Вопрос:

итак, я следовал этому руководству: http://www.rabbitmq.com/tutorials/tutorial-six-java.html , но я не могу заставить его работать с прямым обменом.

Может кто-нибудь мне помочь, пожалуйста, изменив код так, чтобы он работал с прямым обменом.

Моя цель: пользователь может выбрать, на какую машину отправлять, когда они выбирают, я хочу привязаться к этой машине и просто отправить ее на эту машину. Но, похоже, это не работает, когда я меняю объявление очереди на объявление exchange. Любая помощь будет высоко оценена!!!

Спасибо

Ответ №1:

В RabbitMQ вы публикуете сообщения на биржах, поэтому код, который вы видите в руководстве: channel.basicPublish("", "rpc_queue", props, message.getBytes()); , означает: отправить сообщение на биржу "" , используя ключ маршрутизации "rpc_queue" . Это обмен по умолчанию или анон, обсуждаемый в первом руководстве.

Поэтому, если вы хотите отправить сообщение на прямой exchange, просто измените пустое имя exchange на свое имя exchange.

Итак, почему вы хотите сделать это именно так? Почему вы не можете вместо объявления an "rpc_queue" объявлять очередь для каждой машины и обращаться к ним по их именам, в basicPublish ?