Отправить сообщение на произвольный vhost / exchange с RabbitMQ / Spring AMQP

1

Я использую RabbitMQ и Spring AMQP для отправки сообщений.

У меня есть этот фрагмент:

rabbitTemplate.convertAndSend(exchange, key, object);

Это работает, когда я работаю на одном VHOST.


Я должен получать сообщения из одной очереди и повторно отправлять их на N обменов (на разных VHOST). Как я могу это сделать в Spring AMQP (ver 1.2)?

Есть ли что-то лучше, чем ручное определение <rabbit:connection-factory> (для каждого VHOST) и связанных с ним элементов в моем xml-контексте?

Теги:
spring-amqp
rabbitmq
message-queue

1 ответ

1
Лучший ответ

Мы добавили поддержку этому в 1.3. См. " Подключение к маршрутизатору" в справочном руководстве.

Это не произвольно, но вы можете обновить карту в любое время, чтобы добавить новые цели.

  • 0
    Привет Гэри. Я уже видел это, и мы, вероятно, обновим до 1.3, но не скоро ( я еще не знаю, что изменилось и есть ли несовместимости ). Есть ли у вас идеи, как этого добиться в 1.2?
  • 1
    Вам нужно будет сделать что-то подобное, написать делегирующую фабрику соединений и предоставить какой-то механизм, чтобы выбрать, какой использовать во время выполнения - по сути, делать именно то, что мы делали в 1.3. Другим способом было бы делегирование RabbitTemplate с кучей шаблонов, по одному для каждой фабрики соединений, и добавление параметра vHost в используемые вами методы send .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню