From: David J. <d_j...@us...> - 2002-03-24 21:44:33
|
User: d_jencks Date: 02/03/24 13:44:32 Modified: src/main/org/jboss/ejb GlobalTxEntityMap.java Log: New ConnectionManager implementation Revision Changes Path 1.3 +11 -1 jboss/src/main/org/jboss/ejb/GlobalTxEntityMap.java Index: GlobalTxEntityMap.java =================================================================== RCS file: /cvsroot/jboss/jboss/src/main/org/jboss/ejb/GlobalTxEntityMap.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- GlobalTxEntityMap.java 13 Feb 2002 02:35:08 -0000 1.2 +++ GlobalTxEntityMap.java 24 Mar 2002 21:44:32 -0000 1.3 @@ -10,6 +10,7 @@ import java.util.HashMap; import javax.transaction.Transaction; import javax.transaction.RollbackException; +import javax.transaction.Status; import javax.transaction.SystemException; import javax.transaction.Synchronization; import java.util.Iterator; @@ -28,7 +29,7 @@ * Entities are stored in an ArrayList to ensure specific ordering. * * @author <a href="bi...@bu...">Bill Burke</a> - * @version $Revision: 1.2 $ + * @version $Revision: 1.3 $ */ public class GlobalTxEntityMap { @@ -82,6 +83,15 @@ { for (Iterator i = entities.iterator(); i.hasNext(); ) { + //I don't know how this could happen without an exception in the loop, + //but this method can get to here after e.g. NoSuchEntity... + //new ConnectionManager won't enlist in rolled back tx. + //(old one did not use enlist of XAResource for local tx) + if (tx.getStatus() == Status.STATUS_MARKED_ROLLBACK) + { + break; + } // end of if () + //read-only will never get into this list. ctx = (EntityEnterpriseContext)i.next(); EntityContainer container = (EntityContainer)ctx.getContainer(); |