summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-10-21 20:17:45 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2010-10-21 20:17:45 +0000
commit9fe702eeaf97b6de6c77e8a4aa75954516d1c4bf (patch)
tree277d971f1ee4c5bbafe59ae8b6b8dd4a2db38e32 /sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms
parentf1cfee1a017758d7fccd80b5e9cfc3a12906e73b (diff)
Set JMSReplyTo based on the latest binding.jms spec
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1026126 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms')
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java4
-rw-r--r--sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java3
2 files changed, 5 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java
index defd8f222a..098bdde3ae 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/RRBJMSBindingInvoker.java
@@ -252,7 +252,9 @@ public class RRBJMSBindingInvoker implements Invoker {
protected Destination getReplyToDestination(Session session) throws JMSException, JMSBindingException, NamingException {
Destination replyToDest;
- if (operation.isNonBlocking()) {
+ // [rfeng] If the oneway operation is part of bi-directional interface, the JMSReplyTo should be set
+ if (operation.isNonBlocking() && endpointReference.getComponentReferenceInterfaceContract()
+ .getCallbackInterface() == null) {
replyToDest = null;
} else {
if (bindingReplyDest != null) {
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java
index cafcd12cf2..3ed8021107 100644
--- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java
+++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/transport/TransportReferenceInterceptor.java
@@ -59,7 +59,8 @@ public class TransportReferenceInterceptor implements Interceptor {
// get the jms context
JMSBindingContext context = msg.getBindingContext();
- if (context.getReplyToDestination() == null) {
+ // [rfeng] For oneway operation as part of the bi-directional interface, the JMSReplyTo is present
+ if (context.getReplyToDestination() == null || msg.getOperation().isNonBlocking()) {
responseMsg.setBody(null);
} else {
responseMsg = invokeResponse(msg);