Author: antelder
Date: Tue Jul 15 02:17:05 2008
New Revision: 676844
URL: http://svn.apache.org/viewvc?rev=676844&view=rev
Log:
Comment out support for physical destination names as it doesn't work properly
yet, add support for the scaConversationId header
Modified:
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java
tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java
Modified:
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java?rev=676844&r1=676843&r2=676844&view=diff
==============================================================================
---
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
(original)
+++
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingInvoker.java
Tue Jul 15 02:17:05 2008
@@ -260,7 +260,7 @@
requestMsg.setJMSDeliveryMode(jmsBinding.getDeliveryMode());
requestMsg.setJMSPriority(jmsBinding.getPriority());
- setCallbackHeaders(tuscanyMsg, requestMsg);
+ setHeaders(tuscanyMsg, requestMsg);
requestMessageProcessor.setOperationName(operationName, requestMsg);
requestMsg.setJMSReplyTo(replyToDest);
@@ -294,7 +294,7 @@
return requestDestination;
}
- protected void
setCallbackHeaders(org.apache.tuscany.sca.invocation.Message tuscanyMsg,
Message jmsMsg) throws JMSException {
+ protected void setHeaders(org.apache.tuscany.sca.invocation.Message
tuscanyMsg, Message jmsMsg) throws JMSException {
if (hasCallback()) {
ReferenceParameters parameters =
tuscanyMsg.getFrom().getReferenceParameters();
@@ -307,6 +307,11 @@
if (callbackDestName != null) {
jmsMsg.setStringProperty(JMSBindingConstants.CALLBACK_Q_PROPERTY,
callbackDestName);
}
+
+ Object conversationID = parameters.getConversationID();
+ if (conversationID != null) {
+
jmsMsg.setStringProperty(JMSBindingConstants.CONVERSATION_ID_PROPERTY,
conversationID.toString());
+ }
}
}
Modified:
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java?rev=676844&r1=676843&r2=676844&view=diff
==============================================================================
---
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java
(original)
+++
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSBindingListener.java
Tue Jul 15 02:17:05 2008
@@ -126,21 +126,18 @@
tuscanyMsg.setBody(requestPayload);
tuscanyMsg.setOperation(operation);
- setCallbackProperties(requestJMSMsg, tuscanyMsg, operation);
+ setHeaderProperties(requestJMSMsg, tuscanyMsg, operation);
return service.getRuntimeWire(jmsBinding).invoke(operation,
tuscanyMsg);
}
- protected void setCallbackProperties(Message requestJMSMsg, MessageImpl
tuscanyMsg, Operation operation) throws JMSException {
+ protected void setHeaderProperties(Message requestJMSMsg, MessageImpl
tuscanyMsg, Operation operation) throws JMSException {
if (service.getInterfaceContract().getCallbackInterface() != null) {
EndpointReference from = new EndpointReferenceImpl(null);
tuscanyMsg.setFrom(from);
- from.setCallbackEndpoint(new EndpointReferenceImpl("/")); // TODO:
- // whats
- // this
- // for?
+ from.setCallbackEndpoint(new EndpointReferenceImpl("/")); // TODO:
whats this for?
ReferenceParameters parameters = from.getReferenceParameters();
@@ -164,6 +161,11 @@
if (callbackID != null) {
parameters.setCallbackID(callbackID);
}
+
+ String conversationID =
requestJMSMsg.getStringProperty(JMSBindingConstants.CONVERSATION_ID_PROPERTY);
+ if (conversationID != null) {
+ parameters.setConversationID(conversationID);
+ }
}
}
Modified:
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java?rev=676844&r1=676843&r2=676844&view=diff
==============================================================================
---
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java
(original)
+++
tuscany/java/sca/modules/binding-jms-runtime/src/main/java/org/apache/tuscany/sca/binding/jms/provider/JMSResourceFactory.java
Tue Jul 15 02:17:05 2008
@@ -29,6 +29,7 @@
import javax.naming.InitialContext;
import javax.naming.NamingException;
+import org.apache.tuscany.sca.binding.jms.impl.JMSBindingConstants;
import org.apache.tuscany.sca.binding.jms.impl.JMSBindingException;
/**
@@ -144,8 +145,44 @@
}
}
- public Destination lookupDestination(String jndiName) throws
NamingException {
- return (Destination)jndiLookUp(jndiName);
+ public Destination lookupDestination(String destName) throws
NamingException {
+ if (JMSBindingConstants.DEFAULT_DESTINATION_NAME.equals(destName)) {
+ return null;
+ }
+
+ Destination dest = (Destination)jndiLookUp(destName);
+ if (dest == null) {
+ dest = lookupPhysical(destName);
+ }
+ return dest;
+ }
+
+ protected Destination lookupPhysical(String jndiName) {
+
+ // TODO: the SCA JMS spec says a destination name may be a non-jndi
plain destination name
+
+// Session session = null;
+// try {
+//
+// Destination dest;
+// session = createSession();
+// dest = session.createQueue(jndiName);
+// return dest;
+//
+// } catch (JMSException e) {
+// throw new JMSBindingException(e);
+// } catch (NamingException e) {
+// throw new JMSBindingException(e);
+// } finally {
+// if (session != null) {
+// try {
+// session.close();
+// } catch (JMSException e) {
+// throw new JMSBindingException(e);
+// }
+// }
+// }
+ return null;
}
/**
Modified:
tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java?rev=676844&r1=676843&r2=676844&view=diff
==============================================================================
---
tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java
(original)
+++
tuscany/java/sca/modules/binding-jms/src/main/java/org/apache/tuscany/sca/binding/jms/impl/JMSBindingConstants.java
Tue Jul 15 02:17:05 2008
@@ -67,5 +67,6 @@
String CALLBACK_ID_PROPERTY = "CallbackID";
String CALLBACK_Q_PROPERTY = "scaCallbackQueue ";
+ String CONVERSATION_ID_PROPERTY = "scaConversationId";
}