You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2013/12/09 18:03:01 UTC

git commit: https://issues.apache.org/jira/browse/AMQ-1063 - revert delayed change to inTx flag, now cleared before exception is thrown by getConnection, this ensures jms transactions can use autocommit=false

Updated Branches:
  refs/heads/trunk 3797da64f -> b7c430d06


https://issues.apache.org/jira/browse/AMQ-1063 - revert delayed change to inTx flag, now cleared before exception is thrown by getConnection, this ensures jms transactions can use autocommit=false


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/b7c430d0
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/b7c430d0
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/b7c430d0

Branch: refs/heads/trunk
Commit: b7c430d0683c8f682c5a88a063a8bbdda0ebdf07
Parents: 3797da6
Author: gtully <ga...@gmail.com>
Authored: Mon Dec 9 17:01:56 2013 +0000
Committer: gtully <ga...@gmail.com>
Committed: Mon Dec 9 17:02:32 2013 +0000

----------------------------------------------------------------------
 .../org/apache/activemq/store/jdbc/TransactionContext.java    | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/b7c430d0/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/TransactionContext.java
----------------------------------------------------------------------
diff --git a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/TransactionContext.java b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/TransactionContext.java
index 66163b6..6a933b0 100755
--- a/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/TransactionContext.java
+++ b/activemq-jdbc-store/src/main/java/org/apache/activemq/store/jdbc/TransactionContext.java
@@ -38,7 +38,7 @@ public class TransactionContext {
     private final DataSource dataSource;
     private final JDBCPersistenceAdapter persistenceAdapter;
     private Connection connection;
-    private volatile boolean inTx;
+    private boolean inTx;
     private PreparedStatement addMessageStatement;
     private PreparedStatement removedMessageStatement;
     private PreparedStatement updateLastAckStatement;
@@ -63,6 +63,8 @@ public class TransactionContext {
                 }
             } catch (SQLException e) {
                 JDBCPersistenceAdapter.log("Could not get JDBC connection: ", e);
+                inTx = false;
+                close();
                 IOException ioe = IOExceptionSupport.create(e);
                 persistenceAdapter.getBrokerService().handleIOException(ioe);
                 throw ioe;
@@ -160,9 +162,8 @@ public class TransactionContext {
         if (inTx) {
             throw new IOException("Already started.");
         }
-        connection = getConnection();
-        // only mark in tx if we could get a connection
         inTx = true;
+        connection = getConnection();
     }
 
     public void commit() throws IOException {