You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by da...@apache.org on 2012/09/02 12:54:23 UTC

svn commit: r1379939 - in /activemq/trunk/activemq-camel/src: main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java test/java/org/apache/activemq/camel/component/ActiveMQConfigureTest.java

Author: davsclaus
Date: Sun Sep  2 10:54:22 2012
New Revision: 1379939

URL: http://svn.apache.org/viewvc?rev=1379939&view=rev
Log:
AMQ-3861: Offer a way to not set a transaction manager in activemq-camel. Thanks to patch from Babak. Requires Camel 2.10 or better.

Modified:
    activemq/trunk/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java
    activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQConfigureTest.java

Modified: activemq/trunk/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java?rev=1379939&r1=1379938&r2=1379939&view=diff
==============================================================================
--- activemq/trunk/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java (original)
+++ activemq/trunk/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java Sun Sep  2 10:54:22 2012
@@ -115,18 +115,6 @@ public class ActiveMQConfiguration exten
         this.usePooledConnection = usePooledConnection;
     }
 
-    @Override
-    public PlatformTransactionManager getTransactionManager() {
-        PlatformTransactionManager answer = super.getTransactionManager();
-        if (isTransacted() && answer == null) {
-            // lets auto-default the transaction manager if its not specified
-            answer = createTransactionManager();
-            setTransactionManager(answer);
-            answer = getTransactionManager();
-        }
-        return answer;
-    }
-
     /**
      * Factory method to create a default transaction manager if one is not specified
      */

Modified: activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQConfigureTest.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQConfigureTest.java?rev=1379939&r1=1379938&r2=1379939&view=diff
==============================================================================
--- activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQConfigureTest.java (original)
+++ activemq/trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQConfigureTest.java Sun Sep  2 10:54:22 2012
@@ -19,6 +19,7 @@ package org.apache.activemq.camel.compon
 import org.apache.activemq.spring.ActiveMQConnectionFactory;
 import org.apache.activemq.pool.PooledConnectionFactory;
 import org.apache.camel.Endpoint;
+import org.apache.camel.component.jms.JmsConfiguration;
 import org.apache.camel.component.jms.JmsConsumer;
 import org.apache.camel.component.jms.JmsEndpoint;
 import org.apache.camel.component.jms.JmsProducer;
@@ -56,6 +57,20 @@ public class ActiveMQConfigureTest exten
     }
 
     @Test
+    public void testSessionTransactedWithoutTransactionManager() throws Exception {
+        JmsEndpoint endpoint = resolveMandatoryEndpoint("activemq:test.foo?transacted=true&lazyCreateTransactionManager=false");
+        JmsConfiguration configuration = endpoint.getConfiguration();
+        
+        assertIsInstanceOf(ActiveMQConfiguration.class, configuration);
+
+        assertTrue("The JMS sessions are not transacted!", endpoint.isTransacted());
+        assertTrue("The JMS sessions are not transacted!", configuration.isTransacted());
+
+        assertNull("A transaction manager has been lazy-created!", endpoint.getTransactionManager());
+        assertNull("A transaction manager has been lazy-created!", configuration.getTransactionManager());
+    }
+
+    @Test
     public void testJmsTemplateDoesNotUsePoolingConnectionFactory() throws Exception {
         JmsEndpoint endpoint = resolveMandatoryEndpoint("activemq:test.foo?usePooledConnection=false");
         JmsProducer producer = (JmsProducer) endpoint.createProducer();