-
Notifications
You must be signed in to change notification settings - Fork 637
Open
Labels
Description
The client acknowledgement docs for JMS can be misleading:
bufferSizedoes not actually have an effect (maxPendingAcksis the closest analogue)- if
CLIENT_ACKNOWLEDGEis in use, the spec foracknowledgecalls for the "acknowledge all delivered messages in the session" semantics which the docs only say apply "in many cases": this in turn implies that 'at-least-once' processing requiresmaxPendingAcksof zero and callingacknowledgeat some point for every envelope (as it's possible to effectively acknowledge messages before the envelope is even emitted by the source)
It may be also be useful to implement an ackSource for CLIENT_ACKNOWLEDGE mode which is imposes that mode, an effective maxPendingAcks of 0 and which optimizes for an assumption that acknowledge is called for every message.