2015-04-22 2 views
5

Я хочу создать программу публикации/подписки для вычисления манипуляции матрицами в кластере.IBM MQ опубликовать/подписаться отправить сообщение одному абоненту

Когда издатель отправляет сообщение по теме, копии сообщений всем подписчикам.

Я хочу, чтобы копия сообщения отправлялась одному абоненту, и сообщение удаляет и не отправляет другим подписчикам.

ответ

3

Существует два способа сделать это.

  1. Сделайте подписку администратора и все подписчики прочитают сообщения от очереди, на которую указывает подписка.
  2. Используйте MQ V8.0, новый интерфейс JMS 2.0 и функцию Shared Subscription.

Обратите внимание, что в обоих случаях все абоненты подключены к одному диспетчеру очереди. Хотя Pub/Sub создает одно логическое сообщение, когда он передается другим менеджерам очередей, он становится несколькими физическими сообщениями, а их потребление подписчиками не координируется по сети.

0

Используйте очередь, а не тему. Темы предназначены для публикации «один ко многим», очереди позволяют нескольким слушателям, но каждое сообщение доставляется только одному слушателю.

+0

На самом деле, с JMS 2.0 функциональность OP запрашивает о том, что является частью спецификации и называется [общей подписью] (http://www.oracle.com/technetwork/articles/java/jms2messaging-1954190. HTML). Тем не менее, это действительный шаблон и до того, как люди JMS 2.0 достигли этого, направляя несколько экземпляров приложения в очередь, в которую подписали сообщения с темами. Фактически, новая функция существует *, потому что * она является такой общей моделью. –

Смежные вопросы