diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2010-08-24 16:46:34 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2010-08-24 16:46:34 +0000 |
commit | ff4d81926aabbecdf5e97c4cb0d43dd23bec056b (patch) | |
tree | 7d152abb18cfce6330f6caf9cfb38366ae854e40 /sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca | |
parent | 61ed6b103cdea7af530950851857643a0b3efd45 (diff) |
For callbacks with a oneway MEP set the JMSReplyTo with the callback destination
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@988619 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca')
-rw-r--r-- | sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java index b067b6ed12..9afce4243d 100644 --- a/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java +++ b/sca-java-2.x/trunk/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/headers/HeaderReferenceInterceptor.java @@ -24,7 +24,9 @@ package org.apache.tuscany.sca.binding.jms.headers; import java.util.Map; import javax.jms.DeliveryMode; +import javax.jms.Destination; import javax.jms.JMSException; +import javax.naming.NamingException; import org.apache.tuscany.sca.assembly.WireFormat; import org.apache.tuscany.sca.binding.jms.JMSBinding; @@ -114,7 +116,11 @@ public class HeaderReferenceInterceptor implements Interceptor { String callbackDestName = getCallbackDestinationName(reference); if (callbackDestName != null) { - jmsMsg.setStringProperty(JMSBindingConstants.CALLBACK_Q_PROPERTY, callbackDestName); + jmsMsg.setStringProperty(JMSBindingConstants.CALLBACK_Q_PROPERTY, "jms:jndi:" + callbackDestName); + if (operation.isNonBlocking()) { + Destination dest = context.getJmsResourceFactory().lookupDestination(callbackDestName); + jmsMsg.setJMSReplyTo(dest); + } } } @@ -140,7 +146,9 @@ public class HeaderReferenceInterceptor implements Interceptor { return tuscanyMsg; } catch (JMSException e) { throw new JMSBindingException(e); - } + } catch (NamingException e) { + throw new JMSBindingException(e); + } } |