Синхронизация подписчиков на тему JMS в активном / активном режиме (WebLogic)
Мы работаем с сервером WebLogic, потребляя сообщения JMS из темы. У нас есть несколько узлов, работающих в режиме активного / активного подписчика, без общих состояний, кроме дБ (Oracle). Проблема в том, что у нас есть требование, чтобы только один из подписчиков (первый, кто получил сообщение) должен был выполнять фактическую бизнес-логику при получении сообщения из Темы.
Что будет лучшим подходом для синхронизации между абонентами? Есть ли способ справиться с этим в самой WebLogic, например, собирать сообщения из Темы, выдавая себя за одного подписчика и помещая его в очередь, чтобы подписчики на WebLogic прослушивали Очередь вместо исходной Темы?
1 ответ
Существует также концепция общей подписки в JMS, где сообщения по теме совместно используются несколькими потребителями. Чтобы поделиться подписками на тему, все потребители должны использовать один и тот же идентификатор клиента и идентификатор подписки (или ключ). Подробнее здесь.