You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ja...@apache.org on 2011/10/31 19:57:56 UTC

svn commit: r1195616 - /camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java

Author: janstey
Date: Mon Oct 31 18:57:56 2011
New Revision: 1195616

URL: http://svn.apache.org/viewvc?rev=1195616&view=rev
Log:
[CAMEL-4599] - Add default for transactionName in camel-jms


Modified:
    camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java

Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=1195616&r1=1195615&r2=1195616&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java (original)
+++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java Mon Oct 31 18:57:56 2011
@@ -207,18 +207,26 @@ public class JmsEndpoint extends Default
         }
         listenerContainer.setPubSubDomain(pubSubDomain);
 
+        // include destination name as part of thread and transaction name
+        String consumerName = "JmsConsumer[" + getEndpointConfiguredDestinationName() + "]";
+        
         if (configuration.getTaskExecutor() != null) {
             if (log.isDebugEnabled()) {
                 log.debug("Using custom TaskExecutor: {} on listener container: {}", configuration.getTaskExecutor(), listenerContainer);
             }
             setContainerTaskExecutor(listenerContainer, configuration.getTaskExecutor());
         } else {
-            // include destination name as part of thread name
-            String name = "JmsConsumer[" + getEndpointConfiguredDestinationName() + "]";
             // use a cached pool as DefaultMessageListenerContainer will throttle pool sizing
-            ExecutorService executor = getCamelContext().getExecutorServiceManager().newCachedThreadPool(consumer, name);
+            ExecutorService executor = getCamelContext().getExecutorServiceManager().newCachedThreadPool(consumer, consumerName);
             setContainerTaskExecutor(listenerContainer, executor);
         }
+        
+        // set a default transaction name if none provided
+        if (configuration.getTransactionName() == null) {
+            if (listenerContainer instanceof DefaultMessageListenerContainer) {
+                ((DefaultMessageListenerContainer) listenerContainer).setTransactionName(consumerName);
+            }            
+        }
     }
 
     private void setContainerTaskExecutor(AbstractMessageListenerContainer listenerContainer, Executor executor) {