Previously, a JMS client released messages in an unpredictable order when trying to recover. This resulted in messages being re-queued in an unpredictable order even if there was only one consumer. This unpredictability was due to undispatched messages ending up being released in the dispatch thread. This may have happened before or after the messages arrived in the consumers fetch queue. With this update, the messages are now released in the order they arrived in the queue. If a client calls for a recover, messages are not released in the order they arrived in the queue, hence, the next time they are sent to the client, the original ordering is preserved. Please note that this is only valid if there is only one consumer present on the queue. If there are multiple consumers the ordering cannot be guaranteed.