From: Adrian B. <ej...@us...> - 2004-04-04 04:28:03
|
User: ejort Date: 04/04/03 20:15:41 Modified: src/main/org/jboss/resource/connectionmanager TxConnectionManager.java JBossManagedConnectionPool.java Log: Fix the track-tx-by-connection Revision Changes Path 1.19 +6 -3 jbosscx/src/main/org/jboss/resource/connectionmanager/TxConnectionManager.java Index: TxConnectionManager.java =================================================================== RCS file: /cvsroot/jboss/jbosscx/src/main/org/jboss/resource/connectionmanager/TxConnectionManager.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- TxConnectionManager.java 6 Mar 2004 12:50:28 -0000 1.18 +++ TxConnectionManager.java 4 Apr 2004 04:15:41 -0000 1.19 @@ -105,7 +105,7 @@ * * @author <a href="mailto:d_j...@us...">David Jencks</a> * @author <a href="mailto:ad...@jb...">Adrian Brock</a> - * @version $Revision: 1.18 $ + * @version $Revision: 1.19 $ * * @jmx:mbean extends="BaseConnectionManager2MBean" */ @@ -294,6 +294,8 @@ rethrowAsResourceException("Couldn't find current tx", t); } + if (trace) + log.trace("getManagedConnection trackByTx=" + trackConnectionByTx + " tx=" + tx); return super.getManagedConnection(tx, subject, cri); } @@ -422,7 +424,7 @@ //It is a new tx for us. currentTx = newCurrentTx; if (trace) - log.trace("enlisting currenttx: " + currentTx + ", ManagedConnection: " + this.getManagedConnection()); + log.trace("enlisting currenttx: " + currentTx + ", ManagedConnection: " + this.getManagedConnection() + " trackByTx=" + isTrackByTx()); } if (currentTx != null) @@ -462,7 +464,7 @@ public void delist() throws ResourceException { if (trace) - log.trace("delisting currenttx: " + currentTx + ", ManagedConnection: " + this.getManagedConnection()); + log.trace("delisting currenttx: " + currentTx + ", ManagedConnection: " + this.getManagedConnection() + " trackByTx=" + isTrackByTx()); try { @@ -603,6 +605,7 @@ if (currentTx.equals(tx) == false) log.info("afterCompletion called with wrong tx! Expected: " + currentTx + ", actual: " + tx); currentTx = null; + setTrackByTx(false); if (isManagedConnectionFree()) returnManagedConnection(TxConnectionEventListener.this, false); } 1.27 +3 -3 jbosscx/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java Index: JBossManagedConnectionPool.java =================================================================== RCS file: /cvsroot/jboss/jbosscx/src/main/org/jboss/resource/connectionmanager/JBossManagedConnectionPool.java,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- JBossManagedConnectionPool.java 6 Mar 2004 12:50:28 -0000 1.26 +++ JBossManagedConnectionPool.java 4 Apr 2004 04:15:41 -0000 1.27 @@ -38,7 +38,7 @@ * * @author <a href="mailto:d_j...@us...">David Jencks</a> * @author <a href="mailto:ad...@jb...">Adrian Brock</a> - * @version $Revision: 1.26 $ + * @version $Revision: 1.27 $ * @jmx:mbean name="jboss.jca:service=JBossManagedConnectionPool" * extends="org.jboss.system.ServiceMBean" */ @@ -506,6 +506,7 @@ if (noTxSeparatePools) separateNoTx = clf.isTransactional(); Object key = getKey(subject, cri, separateNoTx); + InternalManagedConnectionPool mcp = getPool(key, subject, cri); // Are we doing track by connection? TransactionLocal trackByTx = null; @@ -525,11 +526,10 @@ } // Get a connection from the correct pool - InternalManagedConnectionPool mcp = getPool(key, subject, cri); ConnectionListener cl = mcp.getConnection(subject, cri); // Are we tracking by connection? - if (trackByTx != null) + if (transaction != null && trackByTx != null) { cl.setTrackByTx(true); trackByTx.set(cl); |