2016-12-06 4 views
0

Есть ли способ управлять доставкой заказов в теме в EMS или Tibco (с использованием подписчика темы JMS)? Что-то вроде селектора сообщений, но вместо фильтрации для упорядочения.Порядок доставки JMS в EMS или BW

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

Даже JMSPriority может быть вариантом, если я могу установить его после получения сообщения с подписчиком темы. Я могу это сделать? Может быть, с активностью Java Code?

ответ

0

JMSPriority действительно вариант, но он не может быть установлен на уже полученном сообщении. Решение состоит в том, чтобы подтвердить сообщение и переиздать его с другим приоритетом.

0

Брокер доставляет сообщения в порядке их получения, но переупорядочивание сообщений - это проблема распределенных вычислений/EIP (см. Секвенсор). Проблема заключается в том, что брокер не знает, сколько сообщений идет, или как долго удерживать окно для переупорядочения сообщений. Эта деятельность лучше всего делать за пределами брокера в вашем приложении, где эта информация понятна.

Рамки EIP и ESB сделали хорошую работу по стандартизации обработчика для этого типа рабочего процесса.

ссылка: EIP Sequencer http://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageSequence.html

+0

Мой вопрос о EMS не верблюд. –

+0

Правильно .. Я просто использовал документацию и синтаксис Верблюда, чтобы проиллюстрировать логику/алгоритм. Любая функция EIP или интеграция может выполнять эту функцию. Дело в том, что .. не полагайтесь на брокера, чтобы это сделать. –

+0

Я отредактировал свой ответ, чтобы удалить ссылки на пример resequencer Camel –