Реализация липких сессий ActiveMQ (групп сообщений) в очередях JMS - PullRequest
0 голосов
/ 05 октября 2011

Я пытаюсь отойти от ActiveMQ, но мы хотели бы сохранить одну группу сообщений.При добавлении идентификатора сеанса в заголовок JMS ActiveMQ направит все другие сообщения в очереди с одинаковым идентификатором одному и тому же потребителю (наши потребители могут находиться на разных машинах), что позволяет получателю рассматривать группу сообщений как одну единицу работы.

Моей первой мыслью было просто перевести сессию в режим CLIENT_ACKNOWLEDGE.Я думал, что если бы потребитель А посмотрел на заголовок и увидел, что это не идентификатор, который он обрабатывает, то он мог просто отбросить сообщение, а потребитель Б поднял бы его.Я столкнулся с несколькими проблемами, в том числе с префектом ActiveMQ, и чем больше я читаю, тем больше похоже, что это не то, для чего он изначально был разработан.

Единственная идея, о которой я могу подумать, - это иметь очередь отправки, которая затем направляла бы сообщения каждому потребителю, из-за отсутствия лучшего слова, подпоследовательности и управления соответствием идентификаторов сеансов самим подпочвам,

Прежде чем я пойду по этому пути, к которому мы стремимся, так как это увеличит сложность кода, чем нам хотелось бы, есть ли что-то, чего мне не хватает в CLIENT_ACKNOWLEDGE?Или что-то еще, что я должен сначала попробовать?

1 Ответ

1 голос
/ 16 ноября 2011
...