2013-08-08 2 views
0

У нас есть прослушивание WSO2 ESB в одной очереди ActiveMQ. Однако мы хотим настроить несколько прокси-серверов при прослушивании в очереди JMS. Однако мы хотим, чтобы прокси-сервер только потреблял сообщение, предназначенное для него. Есть ли механизм для установки JMS-селектора сообщений на ESB-прокси, чтобы он потреблял только сообщение, предназначенное для него. ?WSO2 ESB Proxy - JMS Message Selector

Благодаря Раджив Патил

ответ

0

AFAIK это не представляется возможным выполнить такой выбор. Однако есть два возможных подхода к достижению вышеуказанного.

  1. Пусть каждый прокси читать все сообщения и выбрать для обработки внутри прокси сам
  2. Используйте EIP pattern для достижения выше. Одним из возможных шаблонов будет Message Routing, где вы можете выбрать сообщения и направлять сообщение в нужную последовательность или прокси-сервер, который будет выполнять обработку.
0

Да, вы можете иметь несколько прокси-служб, прослушивающих одну и ту же очередь, каждый из которых следует за определенным JMS MessageSelector. Вы должны установить параметр transport.jms.MessageSelector для каждого прокси-сервера, как это (значение 100 является переменным, каждый прокси сервис, содержащий различное количество):

<parameter name="transport.jms.MessageSelector">account='100'</parameter> 

и продюсер сообщений Java, посылающего сообщение брокера JMS является установив селектор сообщений с:

// this will set a key/value pair as JMS message selector 
// 100 should be a variable in your case 
message.setStringProperty("account", "100"); 

Это изделие было проверено на ActiveMQ 4.7 и WSO2 ESB 4+.

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