Details
Description
We have the problem, that if a timeout is raised the temporary queue is not been deleted.
After code review of the JmsConduit class in both 3.0.5 and even in 3.1.7 we have seen, that in case of a timeout, cxf is only raises only an RuntimeException (JmsConduit line 256)
javax.jms.Message replyMessage = jmsTemplate.receiveSelected(replyToDestination, messageSelector);
if (replyMessage == null)
else
{ doReplyMessage(exchange, replyMessage); }And RuntimeException is not handled in JMSConduit resulting in correlationMap is not removing the entry.
public static Message receive(Session session,
Destination replyToDestination,
String correlationId,
long receiveTimeout,
boolean pubSubNoLocal) {
ResourceCloser closer = new ResourceCloser();
try
Is this the problem why the temporary queue is not been closed in case of a timeout? Is there an solution for this problem?
Attachments
Issue Links
- Is contained by
-
CXF-5754 JMSConduit - temporary queue not beeing closed if relpyMessage is null (timeout)
- Closed