Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.14, 0.16, 0.18, 0.20, 0.22
-
None
-
None
Description
If Consumer close() is called while inside onMessage(), it deadlocks (or will be waiting on a condition that would never be true with the patch for QPID-4574).
As per the JMS spec, the consumer cannot be closed() until onMessage() method returns.
Therefore the best solution is to mark that close() has been called and then execute those method once the thread returns from onMessage().