Repository: cxf Updated Branches: refs/heads/3.1.x-fixes c4901706c -> d5b594749
[CXF-7243] USe correct queue for replyToDestination Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/40356fc6 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/40356fc6 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/40356fc6 Branch: refs/heads/3.1.x-fixes Commit: 40356fc6b033def4adf817453a483939a249e85d Parents: c490170 Author: Christian Schneider <[email protected]> Authored: Mon Feb 20 17:29:37 2017 +0100 Committer: Daniel Kulp <[email protected]> Committed: Tue Mar 7 13:54:51 2017 -0500 ---------------------------------------------------------------------- .../java/org/apache/cxf/transport/jms/JMSConduit.java | 14 +++++++------- .../apache/cxf/transport/jms/JMSConfiguration.java | 5 ++++- 2 files changed, 11 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/40356fc6/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 dbcec32..d711cd7 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 @@ -204,12 +204,13 @@ public class JMSConduit extends AbstractConduit implements JMSExchangeSender, Me // Synchronize on exchange early to make sure we do not miss the notify synchronized (exchange) { - Destination replyToDestination = jmsConfig - .getReplyToDestination(session, headers.getJMSReplyTo()); - String jmsMessageID = sendMessage(request, outMessage, replyToDestination, correlationId, closer, - session); + String replyTo = headers.getJMSReplyTo(); + String jmsMessageID = sendMessage(request, outMessage, + jmsConfig.getReplyToDestination(session, replyTo), + correlationId, closer, session); + Destination replyDestination = jmsConfig.getReplyDestination(session, replyTo); boolean useSyncReceive = ((correlationId == null || userCID != null) && !jmsConfig.isPubSubDomain()) - || (!replyToDestination.equals(staticReplyDestination) && headers.getJMSReplyTo() != null); + || !replyDestination.equals(staticReplyDestination); if (correlationId == null) { correlationId = jmsMessageID; correlationMap.put(correlationId, exchange); @@ -217,8 +218,7 @@ public class JMSConduit extends AbstractConduit implements JMSExchangeSender, Me if (exchange.isSynchronous()) { if (useSyncReceive) { - // TODO Not sure if replyToDestination is correct here - javax.jms.Message replyMessage = JMSUtil.receive(session, replyToDestination, + javax.jms.Message replyMessage = JMSUtil.receive(session, replyDestination, correlationId, jmsConfig.getReceiveTimeout(), jmsConfig.isPubSubNoLocal()); http://git-wip-us.apache.org/repos/asf/cxf/blob/40356fc6/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java ---------------------------------------------------------------------- diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java index 46a0d95..6269da6 100644 --- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java +++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/JMSConfiguration.java @@ -461,7 +461,10 @@ public class JMSConfiguration { } public Destination getReplyDestination(Session session, String replyToName) throws JMSException { - return destinationResolver.resolveDestinationName(session, replyToName, replyPubSubDomain); + if (replyToName != null) { + return destinationResolver.resolveDestinationName(session, replyToName, replyPubSubDomain); + } + return getReplyDestination(session); } public TransactionManager getTransactionManager() {
