How does message persistence affect the order of message production by a client and delivery by the JMS server?

Jerry Smith

It's convenient to view persistent and nonpersistent messages from the same producing client as elements of a partitioned space, even if sent to the same destination. There is no guarantee that a consuming client will even receive a nonpersistent message; hence, nonpersistent messages must be exempt from any logical conditions on message order in the producing client.

A related issue is that, at best, messages are only ordered within each message-producing session by destination.

Message priority is another related factor. In general, messages with higher priority will arrive before messages of lower priority, within a session, but it is not possible to depend on high-priority nonpersistent messages being delivered before low-priority persistent messages.