Согласно спецификации JMS
JMS defines that messages sent by a session to a destination must be received
in the order in which they were sent. This defines a partial ordering
constraint on a session’s input message stream.
JMS does not define order of message receipt across destinations or across
a destination’s messages sent from multiple sessions. This aspect of a
session’s input message stream order is timing-dependent. It is not under
application control.
Также
Although clients loosely view the messages they produce within a session
as forming a serial stream of sent messages, the total ordering of this stream
is not significant. The only ordering that is visible to receiving clients is
the order of messages a session sends to a particular destination.
Several things can affect this order like message priority,
persistent/non persistent etc.
Так, чтобы ответить на Ваш вопрос not really JMS provider specific
в каком порядке принимаются сообщения. Они будут получены в том же порядке, в котором они были отправлены с вышеуказанной информацией. Порядок, в котором сообщения доставляются на сервер, будет ограничен ограничениями, такими как приоритет сообщения, постоянный/непостоянный и т. Д.
Хорошо, я просто хотел проверить, что это относится к 'теме', а также к' queue', это верно? Спасибо – vikingsteve
да это относится к 'Destination', который может быть либо' Queue', либо 'Topic'. –
В дополнение к комментариям Aniket относительно спецификации, применяются обычные ограничения WMQ. Например, если сообщения проходят через QMgr-QMgr-канал и имеют различный приоритет или постоянство, если есть несколько путей, к которым могут следовать сообщения, если в очереди, в которую отправляются сообщения, есть несколько потребителей (потому что охватывает темы, доставляющие сообщения в очереди, даже если приложение не видит их в виде очередей), если очередь переполняется в DLQ и т. д., тогда они могут не прибыть в отправленном порядке. Спецификация ссылается на это, где говорится о нескольких направлениях. –