that depends. It your message is non-persistent, the server won't redeliver it again in case of failure. For a persistent message, broker will redeliver it when it detects the network failure. If a client hold a message and doesn't ack, the server won't redeliver it. In any case, the broker won't hang. For config you can find the details in the user's manual.
I trying to get my head wrapped around the XA Recovery bits(specifically in a clustered environment.)
Let me try to understand...
- I have a persistent message
- Auto-Acknowledge is my acknowledgement type
If I have MDB running in a CMT transaction that consumes a message. It will require that the onMessage() method successfully completes to acknowledge the message. If a full crash occurrs during that onMessage() method from what I understand that unacknowledged message gets picked up by a buddy.
When that buddy picks up that message, will it just wait for the crashed node to recover and the XARecovery Module to tell it that it is safe to depersist that message or re-deliver?