You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ha...@apache.org on 2014/03/13 16:49:10 UTC
[10/13] 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
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/bc0d4bb5
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/bc0d4bb5
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/bc0d4bb5
Branch: refs/heads/activemq-5.9
Commit: bc0d4bb5752bbc3695ba4f73a698a0480b8d6619
Parents: 015c6cc
Author: gtully <ga...@gmail.com>
Authored: Mon Dec 9 17:01:56 2013 +0000
Committer: Hadrian Zbarcea <ha...@apache.org>
Committed: Thu Mar 13 11:07:17 2014 -0400
----------------------------------------------------------------------
.../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/bc0d4bb5/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 {