Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
M2.1, M3, M4
-
None
Description
Summary:
When the connection is closed due to a network or protocol error attempting to cleanly shutdown the open objects will cause the client to block.
Closing consumers will succeed as they have a default timeout of 30s.
Closing a session uses -1 i.e. wait for ever, so will block the client code.
Closing the connection uses a decreasing timeout is the only sure way of cleaning up.
This however poses a problem for Mule users as their reconnection logic will be fired through the onException handler and explicitly close all the objects rather than just the connection.
Test Case attached along with potential patch.