AbstractMessageListenerContainer#doExecuteListener can cause a dropped message if using CLIENT_ACKNOWLEDGE and the container is stopped and subsequently started again. [SPR-12015] #16631
Labels
in: core
Issues in core modules (aop, beans, core, context, expression)
status: backported
An issue that has been backported to maintenance branches
type: bug
A general bug
Milestone
James Reitz opened SPR-12015 and commented
This probably affects much later versions of Spring as well, but I haven't confirmed it yet (looks that way from comparing this class with the 4.0.4 release).
It seems like, when rejecting the message, recover should be called on the JMS session. This would cause the message to be redelivered.
A work-around is to call AbstractMessageListenerContainer#setAcceptMessagesWhileStopping(true); which prevents the message from being initially rejected.
This problem was seen in a production application using Tibco, but I don't believe the problem is provider specific.
Affects: 3.1.4
Issue Links:
Referenced from: commits 902303b, 7af1e00, c082220
Backported to: 3.2.11
4 votes, 3 watchers
The text was updated successfully, but these errors were encountered: