I would like an MDB to process all messages from a queue, in order,
even if there
are temporary exception errors.
By setting endpointPoolMaxSize to 1, I have stopped multiple instances
of the MDB
causing the messages to be processed in an unpredictable order.
By setting sendUndeliverableMsgsToDMQ to false, I have stopped messages
disappearing from the queue when they are undeliverable.
However, an undeliverable message appears to be moved in the queue to
a different,
later position.
For instance, if there are 2 messages in the queue and on reading <message-1>
it is marked as undeliverable after retries, I then see <message-2>
being delivered before <message-1> again.
Is it possible to guarantee message order with glassfish-v2ur2?