Могу ли я сохранить порядок сообщений в OpenMQ, используя несколько издателей и одного получателя? - PullRequest
0 голосов
/ 11 августа 2011

Я хочу войти в систему, используя OpenMQ из GlassFish .Я думаю, что мои компоненты могут помещать сообщения в эту очередь, и если из нее потребляет только один mdb, я должен иметь возможность получать все сообщения в том порядке, в котором они были помещены в очередь.Будет ли это работать и как можно сохранить порядок сообщений?

Просто для справки был слайд в презентации, который первоначально заставил меня поверить, что JMS предоставил заказ, очевидно, он вводит в заблуждение.

Стенограмма слайда 8:

Что такое JMS?• API на основе Java для промежуточного программного обеспечения, ориентированного на сообщения.• Используются следующие понятия (среди прочего)> Порядок сообщений гарантируется > Уровень надежности определяется при отправке сообщения> Поддерживаются транзакции (группировка сообщений, которые должны отправляться или создаваться вместе)> Форматсообщение определяется производителем> Предоставляет два стиля доставки сообщений (точка-точка и публикация-подписка). Copyright Sun Microsystems Inc. Все права защищены.[8]

http://www.slideshare.net/alexismp/openmq-aquarium-paris-presentation

Эти ответы ниже сообщают, что структуры JMS не гарантируют заказ.Но я думаю, что если у меня есть только один MDB, то есть одноэлементный, использующий параллелизм контейнера, то я могу по крайней мере насладиться заказом в очереди.

См .:

1 Ответ

1 голос
/ 11 августа 2011

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

Наличие дополнительного поля также гарантирует, что еслиКомпонент теряет соединение с очередью, тогда сообщения, предназначенные для доставки за час до этого, все еще имеют правильное время и «порядок», когда они попадают в потребляющую MDB.

...