JMS с контент-фильтром - PullRequest
       46

JMS с контент-фильтром

2 голосов
/ 12 февраля 2020

Возможно ли сделать контентный фильтр с JMS?

Кажется, что публикация / подписка IBM MQ разрешает контентную фильтрацию https://www.ibm.com/support/knowledgecenter/en/SSKM8N_8.0.0/com.ibm.etools.mft.doc/bq13460_.htm https://www.ibm.com/support/knowledgecenter/en/SSKM8N_8.0.0/com.ibm.etools.mft.doc/bq13360_.htm

Я пытался найти способ с помощью JMSListener фильтровать элемент тела, но мне не удалось заставить его работать ..

1 Ответ

2 голосов
/ 12 февраля 2020

IBM MQ не может напрямую фильтровать по телу, только по свойствам сообщения. IBM заявляет, что поставщик расширенного выбора сообщений может делать выбор сообщений на основе полезной нагрузки сообщения, но, насколько мне известно, единственным доступным поставщиком расширенного выбора сообщений является ACE / IIB / WMB.


Пожалуйста, ознакомьтесь с IBM Страница центра знаний IBM MQ 9.1.x> IBM MQ> Разработка приложений> Разработка приложений JMS и Java> Использование классов IBM MQ для JMS> Написание классов IBM MQ для приложений JMS> Сообщения JMS> Селекторы сообщений в JMS :

Значение свойства может дублировать значение в теле сообщения. JMS не определяет политику для того, что может быть превращено в свойство. Однако разработчики приложений должны знать, что поставщики JMS, вероятно, обрабатывают данные в теле сообщения более эффективно, чем данные в свойствах сообщения. Для лучшей производительности приложения должны использовать свойства сообщения только тогда, когда им нужно настроить заголовок сообщения. Основная причина для этого заключается в поддержке настраиваемого выбора сообщений.

Селектор сообщений JMS позволяет клиенту указывать интересующие его сообщения с помощью заголовка сообщения. Доставляются только сообщения с заголовками, которые соответствуют селектору.

Селекторы сообщений не могут ссылаться на значения тела сообщения.

Селектор сообщений соответствует сообщению когда селектор оценивается как true, когда поле заголовка сообщения и значения свойств подставляются вместо соответствующих им идентификаторов в селекторе.

Селектором сообщения является строка, синтаксис которой основан на подмножестве условного выражения SQL92. синтаксис. Порядок, в котором оценивается селектор сообщений, находится слева направо в пределах уровня приоритета. Вы можете использовать скобки, чтобы изменить этот порядок. Предопределенные литералы селектора и имена операторов пишутся здесь в верхнем регистре; однако они не чувствительны к регистру.


Также просмотрите страницу центра знаний IBM IBM MQ 9.0.x> IBM MQ> Разработка приложений> Концепции разработки приложений> Сообщения IBM MQ > Выбор сообщений из очередей> Выбор содержимого сообщения

Можно подписаться на основе выбора содержимого полезной нагрузки сообщения (также известного как фильтрация содержимого), , но решение о том, какие сообщения следует доставлять по такой подписке, не может быть выполнено непосредственно IBM® MQ ; вместо этого для обработки сообщений требуется расширенный поставщик выбора сообщений, например, IBM Integration Bus.

...