Skip to content

Commit

Permalink
HHH-11267 Fix BulkOperationsTest and ReadWriteTest
Browse files Browse the repository at this point in the history
  • Loading branch information
rvansa authored and Sanne committed Nov 22, 2016
1 parent 4508a9e commit 6aaaf37
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
Expand Up @@ -75,15 +75,15 @@ public Connection getConnection() throws SQLException {
Connection connection = currentTransaction.getEnlistedConnection();
if ( connection == null ) {
connection = actualConnectionProvider.getConnection();
currentTransaction.enlistConnection( connection );
currentTransaction.enlistConnection( connection, actualConnectionProvider );
}
return connection;
}
}

public void closeConnection(Connection conn) throws SQLException {
if ( !isTransactional ) {
conn.close();
actualConnectionProvider.closeConnection(conn);
}
}

Expand Down
Expand Up @@ -25,6 +25,7 @@
import javax.transaction.xa.Xid;

import org.hibernate.cache.infinispan.util.InfinispanMessageLogger;
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;

/**
* XaResourceCapableTransactionImpl.
Expand All @@ -41,6 +42,7 @@ public class XaTransactionImpl implements Transaction {
private final XaTransactionManagerImpl jtaTransactionManager;
private List<XAResource> enlistedResources = new ArrayList<XAResource>();
private Xid xid = new XaResourceCapableTransactionXid();
private ConnectionProvider connectionProvider;

public XaTransactionImpl(XaTransactionManagerImpl jtaTransactionManager) {
this.jtaTransactionManager = jtaTransactionManager;
Expand Down Expand Up @@ -84,7 +86,8 @@ public void commit() throws RollbackException, HeuristicMixedException, Heuristi
if (connection != null) {
try {
connection.commit();
connection.close();
connectionProvider.closeConnection(connection);
connection = null;
} catch (SQLException sqle) {
status = Status.STATUS_UNKNOWN;
throw new SystemException();
Expand Down Expand Up @@ -147,11 +150,12 @@ public void registerSynchronization(Synchronization synchronization) throws Roll
synchronizations.add(synchronization);
}

public void enlistConnection(Connection connection) {
public void enlistConnection(Connection connection, ConnectionProvider connectionProvider) {
if (this.connection != null) {
throw new IllegalStateException("Connection already registered");
}
this.connection = connection;
this.connectionProvider = connectionProvider;
}

public Connection getEnlistedConnection() {
Expand Down

0 comments on commit 6aaaf37

Please sign in to comment.