Как сделать сообщения в теме на сервере WebLogic первым в очереди
Я использую промежуточное ПО Oracle Fusion 12.1.3. Weblogic Server 12.1.3 и OSB 12.1.3. Я создал 1 фабрику соединений и одну тему. У меня один производитель отправляет сообщения в тему и 3 потребителя (подписчики)
Я также установил параметры сбоя повторной доставки (повторите 3 раза каждые полчаса) в случае ошибки подключения или проблемы с сетью, сообщения будут записаны обратно в тему и будут повторены. но я хочу убедиться, что сообщения повторяются в том же порядке, в котором они были получены. например, в теме есть 3 сообщения (сообщение 1, сообщение 2, сообщение 3), и один из подписчиков не может использовать сообщение, поэтому сообщение ожидает рассмотрения в теме, и оно будет повторено. но я хочу, чтобы он был повторен в том же порядке, то есть сообщение 1, сообщение 2 и сообщение 3.
Существуют ли какие-либо конкретные настройки, которые необходимо выполнить в weblogic или OSB, чтобы добиться такого поведения?
1 ответ
Вы пытались использовать функцию единиц заказа, относящуюся к сети?
Что такое единица заказа сообщения?
Единица порядка сообщений - это дополнительная функция WebLogic Server, которая позволяет автономному производителю сообщений или группе производителей, действующих как единое целое, группировать сообщения в один блок в соответствии с порядком обработки. Этот отдельный модуль называется Unit-of-Order и требует, чтобы все сообщения от этого модуля обрабатывались последовательно в том порядке, в котором они были созданы.
Вы можете настроить его программно для большего контроля или административно (через консоль WLS, подключив его к фабрикам соединений и т. Д.), Если у вас нет контроля над созданными сообщениями.
Для получения дополнительной информации о том, как присоединить заголовки JMS, чтобы включить его, вы можете найти этот сайт полезным.