You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2017/02/20 16:29:54 UTC
cxf git commit: [CXF-7243] USe correct queue for replyToDestination
Repository: cxf
Updated Branches:
refs/heads/master c0e79369f -> 47c00e2fe
[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/47c00e2f
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/47c00e2f
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/47c00e2f
Branch: refs/heads/master
Commit: 47c00e2fe100bdf7c12150093067ed58a09c5161
Parents: c0e7936
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Mon Feb 20 17:29:37 2017 +0100
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Mon Feb 20 17:29:49 2017 +0100
----------------------------------------------------------------------
.../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/47c00e2f/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 b1aa7c3..e23dc35 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
@@ -206,12 +206,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);
@@ -219,8 +220,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/47c00e2f/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 5702ce9..e8fba27 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
@@ -484,7 +484,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() {