You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/06/20 10:45:16 UTC

svn commit: r669822 - /servicemix/components/shared-libraries/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java

Author: gnodet
Date: Fri Jun 20 01:45:16 2008
New Revision: 669822

URL: http://svn.apache.org/viewvc?rev=669822&view=rev
Log:
Fix transaction handling

Modified:
    servicemix/components/shared-libraries/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java

Modified: servicemix/components/shared-libraries/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java
URL: http://svn.apache.org/viewvc/servicemix/components/shared-libraries/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java?rev=669822&r1=669821&r2=669822&view=diff
==============================================================================
--- servicemix/components/shared-libraries/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java (original)
+++ servicemix/components/shared-libraries/trunk/servicemix-common/src/main/java/org/apache/servicemix/common/EndpointDeliveryChannel.java Fri Jun 20 01:45:16 2008
@@ -107,15 +107,17 @@
     }
 
     private void resumeTx(MessageExchange exchange) throws MessagingException {
-        Transaction tx = (Transaction) exchange.getProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME);
-        if (tx != null) {
-            TransactionManager txmgr = (TransactionManager) endpoint.getServiceUnit().getComponent().getComponentContext().getTransactionManager();
-            try {
-                txmgr.resume(tx);
-            } catch (InvalidTransactionException e) {
-                throw new MessagingException(e);
-            } catch (SystemException e) {
-                throw new MessagingException(e);
+        if (!endpoint.getServiceUnit().getComponent().getContainer().handleTransactions()) {
+            Transaction tx = (Transaction) exchange.getProperty(MessageExchange.JTA_TRANSACTION_PROPERTY_NAME);
+            if (tx != null) {
+                TransactionManager txmgr = (TransactionManager) endpoint.getServiceUnit().getComponent().getComponentContext().getTransactionManager();
+                try {
+                    txmgr.resume(tx);
+                } catch (InvalidTransactionException e) {
+                    throw new MessagingException(e);
+                } catch (SystemException e) {
+                    throw new MessagingException(e);
+                }
             }
         }
     }