-
Feature
-
Resolution: Done
-
Major
-
jboss-fuse-6.3
-
0
-
0%
-
-
Todo
An application uses the CXF SOAP/JMS transport in a request-reply pattern. The default behaviour with this pattern is to create a temporary queue, and use that temporary queue for multiple messages consumed from the same endpoint. Correlation IDs are used to match up requests and replies.
Consider a situation where multiple request-reply exchanges are in flight, using the same temporary queue. If one of those exchanges times out, and exception is raised in the CXF JMS transport. This causes the temporary queue to be deleted (perhaps, but not certainly, because the underlying TCP connection is closed).
A new temporary queue gets created but, by that time, all the in-flight messages fail, because the destination no longer has a replace to reply to – the temporary queue it should have replied to no longer exists. The consequence is that a minor problem is turned into a major problem, with substantial message loss.
- causes
-
JBEAP-17577 [GSS](7.2.z) CXF-8105 - introduce a property for JMS transport client to decide reset JMS connection or not when client timeout
- Closed
-
JBEAP-18013 [GSS](7.3.z) CXF-8105 - introduce a property for JMS transport client to decide reset JMS connection or not when client timeout
- Closed
-
WFLY-12790 CXF-8105 - introduce a property for JMS transport client to decide reset JMS connection or not when client timeout
- Closed