You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gr...@apache.org on 2006/11/13 09:06:22 UTC

svn commit: r474184 - in /incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms: ./ jca/ multiplexing/ standard/

Author: grantm
Date: Mon Nov 13 00:06:18 2006
New Revision: 474184

URL: http://svn.apache.org/viewvc?view=rev&rev=474184
Log:
SM-744: added XBean configuration option to jms endpoint to allow for using the JMS request message id as the JMS correlation id. Patch provided by Martin Landua

Modified:
    incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/JmsEndpoint.java
    incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/jca/JcaConsumerProcessor.java
    incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingConsumerProcessor.java
    incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/standard/StandardConsumerProcessor.java

Modified: incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/JmsEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/JmsEndpoint.java?view=diff&rev=474184&r1=474183&r2=474184
==============================================================================
--- incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/JmsEndpoint.java (original)
+++ incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/JmsEndpoint.java Mon Nov 13 00:06:18 2006
@@ -56,6 +56,8 @@
     protected String jndiConnectionFactoryName;
     protected String jndiDestinationName;
     protected String jmsProviderDestinationName;
+    
+    protected boolean useMsgIdInResponse;
     //
     // Spring configuration
     //
@@ -458,4 +460,17 @@
         return component.getKeystoreManager();
     }
 
-}
\ No newline at end of file
+    /**
+     * Determines whether for a request/response pattern, the message id of the request message
+     * should be used as the correlation id in the response or the correlation id of the request.
+     * @return
+     */
+    public boolean isUseMsgIdInResponse() {
+        return useMsgIdInResponse;
+    }
+
+    public void setUseMsgIdInResponse(boolean useMsgIdInResponse) {
+        this.useMsgIdInResponse = useMsgIdInResponse;
+    }
+
+}

Modified: incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/jca/JcaConsumerProcessor.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/jca/JcaConsumerProcessor.java?view=diff&rev=474184&r1=474183&r2=474184
==============================================================================
--- incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/jca/JcaConsumerProcessor.java (original)
+++ incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/jca/JcaConsumerProcessor.java Mon Nov 13 00:06:18 2006
@@ -138,7 +138,11 @@
             response = fromNMSResponse(exchange, context, session);
             if (response != null) {
                 MessageProducer producer = session.createProducer(message.getJMSReplyTo());
-                response.setJMSCorrelationID(message.getJMSCorrelationID());
+                if (endpoint.isUseMsgIdInResponse()) {
+                    response.setJMSCorrelationID(message.getJMSMessageID());
+                } else {
+                    response.setJMSCorrelationID(message.getJMSCorrelationID());
+                }
                 producer.send(response);
             }
         } finally {

Modified: incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingConsumerProcessor.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingConsumerProcessor.java?view=diff&rev=474184&r1=474183&r2=474184
==============================================================================
--- incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingConsumerProcessor.java (original)
+++ incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/multiplexing/MultiplexingConsumerProcessor.java Mon Nov 13 00:06:18 2006
@@ -109,7 +109,11 @@
             response = fromNMSResponse(exchange, context, session);
             if (response != null) {
                 producer = session.createProducer(message.getJMSReplyTo());
-                response.setJMSCorrelationID(message.getJMSCorrelationID());
+                if (endpoint.isUseMsgIdInResponse()) {
+                    response.setJMSCorrelationID(message.getJMSMessageID());
+                } else {
+                    response.setJMSCorrelationID(message.getJMSCorrelationID());
+                }
                 producer.send(response);
             }
         } finally {

Modified: incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/standard/StandardConsumerProcessor.java
URL: http://svn.apache.org/viewvc/incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/standard/StandardConsumerProcessor.java?view=diff&rev=474184&r1=474183&r2=474184
==============================================================================
--- incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/standard/StandardConsumerProcessor.java (original)
+++ incubator/servicemix/trunk/deployables/bindingcomponents/servicemix-jms/src/main/java/org/apache/servicemix/jms/standard/StandardConsumerProcessor.java Mon Nov 13 00:06:18 2006
@@ -123,7 +123,11 @@
                 response = fromNMSResponse(exchange, context, session);
                 if (response != null) {
                     producer = session.createProducer(message.getJMSReplyTo());
-                    response.setJMSCorrelationID(message.getJMSCorrelationID());
+                    if (endpoint.isUseMsgIdInResponse()) {
+                        response.setJMSCorrelationID(message.getJMSMessageID());
+                    } else {
+                        response.setJMSCorrelationID(message.getJMSCorrelationID());
+                    }
                     producer.send(response);
                 }
             } finally {