Mechanics of guaranteed publish callbacks when using batched send
Suppose I am publishing guaranteed messages. I build a buffer of 50 messages and use the
Send(IMessage...) method to send all of them at once. I have a few questions about message acknowledgement:
1. Will I receive 50 acknowledgement events, or just one?
2. If I receive 50, are they guaranteed to come back in the same order as the order of the messages in the batch - ie, from message...message?
3. Is it possible to get a mixture of
Acknowledgement events for the messages in such a batch, or will the broker always reject or accept every message in a single batch? The latter would be preferable where message order must be preserved. Can transacted sessions help in this regard? The documentation only seems to refer to transacted sessions in the JMS section.
4. More generally, if using non-batched
Send(), are callbacks guaranteed to come in the order in which messages were sent?