WMQ Pub/Sub Topic to Queue bridge

В других менеджерах очередей можно настроить мост между очередью и темой, чтобы издателям и подписчикам не нужно было знать, что они используют тему:

Пример в TIBCO EMS

создать мост source=queue:QName target=topic:TName
создать Bridge source=topic:TName target=queue:QName

Как это сделать в WMQ?


person oluies    schedule 12.01.2011    source источник


Ответы (1)


См. WebSphere Функции и улучшения MQ V7.0 на стр. 47. упоминает использование очередей псевдонимов и административных подписок

В WebSphere MQ версии 7.0 добавлено расширение объекта очереди псевдонимов, которое позволяет преобразовать его в новый объект темы. Это полезно для миграции приложений обмена сообщениями точка-точка на модель публикации/подписки. Традиционное двухточечное приложение, помещающее сообщения в WebSphere MQ, может работать как издатель без каких-либо изменений кода, используя очередь псевдонимов, которая разрешается в объект темы. Это реализуется административно путем определения объекта темы, который сопоставляется с соответствующей строкой темы, в которой должны публиковаться сообщения. Исходная локальная очередь удаляется и заменяется псевдонимом очереди с тем же именем, которое разрешается в объект темы. Также обратите внимание, что приложение «точка-точка», получающее сообщения от WebSphere MQ, может работать как подписчик без внесения каких-либо изменений в код, определив административную подписку на тему.

В примере 9.3 на стр. 220 показано, как настроить административную подписку из темы в целевую очередь.

DEFINE SUB(SUB.RETAIL.CAT) TOPICOBJ(MATT.RETAIL.CAT) DESTCLAS(MANAGED)
DEFINE SUB(SUB.MATTRETCAT) TOPICSTR(‘matt/retail/cat’) DESTCLAS(MANAGED)
DEFINE SUB(SUB.PROVCAT) TOPICSTR(‘matt/retail/cat’) DEST(SUB.PROVCAT.DESTQ)
person oluies    schedule 12.01.2011
comment
Единственная проблема с этим методом заключается в том, что темы WMQ не будут принимать сгруппированные сообщения. Причина этого в том, что вы не знаете, будет ли подписка сделана в середине группы. Если бы это произошло, у подписчика была бы половина группы, и у него не было бы возможности получить первое сообщение (сообщения). Я не уверен, как другие транспорты справляются с этим, но потребуется много кода на стороне сервера для кэширования сообщений для воспроизведения для этого и ухудшится производительность, поэтому я подозреваю, что запрещение групповых сообщений будет распространенным подходом. - person T.Rob; 12.01.2011
comment
Спасибо Т. Роб. Знаете ли вы о каких-либо дополнительных ограничениях на Z? - person oluies; 12.01.2011
comment
Когда вы говорите дальше, вы истолковали мой комментарий как относящийся конкретно к Z? Потому что группы сообщений являются функцией WMQ на всех современных платформах, как и возможность использовать псевдонимы тем и очередей. Никаких ограничений, связанных с Z, не приходит на ум ни для одной из этих функций. - person T.Rob; 23.01.2011