[CXF-5754] Make sure temp queues are closed
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/6937ea68 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/6937ea68 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/6937ea68 Branch: refs/heads/3.1.x-fixes Commit: 6937ea6827929f23307fb405cb81e0fa9f116b13 Parents: eab4d83 Author: Christian Schneider <[email protected]> Authored: Wed Mar 15 10:25:34 2017 +0100 Committer: Christian Schneider <[email protected]> Committed: Wed Mar 15 14:03:40 2017 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/cxf/transport/jms/JMSConduit.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/6937ea68/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java ---------------------------------------------------------------------- diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java index d711cd7..8576149 100644 --- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java +++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConduit.java @@ -216,13 +216,16 @@ public class JMSConduit extends AbstractConduit implements JMSExchangeSender, Me correlationMap.put(correlationId, exchange); } - if (exchange.isSynchronous()) { + if (!exchange.isSynchronous()) { + return; + } + + try { if (useSyncReceive) { javax.jms.Message replyMessage = JMSUtil.receive(session, replyDestination, correlationId, jmsConfig.getReceiveTimeout(), jmsConfig.isPubSubNoLocal()); - correlationMap.remove(correlationId); processReplyMessage(exchange, replyMessage); } else { try { @@ -236,6 +239,8 @@ public class JMSConduit extends AbstractConduit implements JMSExchangeSender, Me } } + } finally { + correlationMap.remove(correlationId); } } }
