It appeared to me that it is only for beans that use UserTransaction,
i.e. BMT beans, the changes are made only in the UserTransactionImpl inner
class of EnterpriseContext. The tests seem to have run fine and the fix
helped removing a certain Tyrex failure (I ran testsuite with JBossTM and
then with TyrexTM, so everything should be fine).

Anatoly.

On Sun, 3 Feb 2002, marc fleury wrote:

> Ok this only applies to BMT and thus Sessions right? otherwise the tx for
> entity is a nightmare...
> 
> only session right?
> 
> marcf
> 
> |-----Original Message-----
> |From: [EMAIL PROTECTED]
> |[mailto:[EMAIL PROTECTED]]On Behalf Of
> |Anatoly Akkerman
> |Sent: Sunday, February 03, 2002 2:56 PM
> |To: [EMAIL PROTECTED]
> |Subject: [JBoss-dev] CVS update: jboss/src/main/org/jboss/ejb
> |EnterpriseContext.java
> |
> |
> |  User: azakkerman
> |  Date: 02/02/03 14:55:53
> |
> |  Modified:    src/main/org/jboss/ejb EnterpriseContext.java
> |  Log:
> |     Update UserTransactionImpl to better conform to the spec
> |    which says that the thread has to be cleaned from the tx upon commit()
> |    and rollback(). In order to conform to this, we need to
> |    remove tx from EnterpriseContext upon commit() or rollback()
> |of the UserTransaction.
> |    When this is done, and the BMT TxInterceptor comes to assign
> |the thread that serves
> |    next invocation on the BMT bean to the ctx transaction, it
> |gets the right 'null'
> |    tx.
> |    If this is not taken care of, some TMs (namely Tyrex)
> |    may fail since a committed or rolled-back tx
> |    from the ctx will be resumed in the BMT interceptor.
> |
> |  Revision  Changes    Path
> |  1.42      +21 -3     jboss/src/main/org/jboss/ejb/EnterpriseContext.java
> |
> |  Index: EnterpriseContext.java
> |  ===================================================================
> |  RCS file:
> |/cvsroot/jboss/jboss/src/main/org/jboss/ejb/EnterpriseContext.java,v
> |  retrieving revision 1.41
> |  retrieving revision 1.42
> |  diff -u -r1.41 -r1.42
> |  --- EnterpriseContext.java 2001/12/19 05:13:37     1.41
> |  +++ EnterpriseContext.java 2002/02/03 22:55:53     1.42
> |  @@ -47,7 +47,7 @@
> |    * @author <a
> |href="mailto:[EMAIL PROTECTED]";>Sebastien Alborini</a>
> |    * @author <a href="mailto:[EMAIL PROTECTED]";>Juha Lindfors</a>
> |    * @author <a href="mailto:[EMAIL PROTECTED]";>Ole Husgaard</a>
> |  - * @version $Revision: 1.41 $
> |  + * @version $Revision: 1.42 $
> |    *
> |    * Revisions:
> |    * 2001/06/29: marcf
> |  @@ -434,13 +434,31 @@
> |            java.lang.IllegalStateException,
> |            SystemException
> |         {
> |  -         con.getTransactionManager().commit();
> |  +         try {
> |  +           con.getTransactionManager().commit();
> |  +         } finally {
> |  +           // According to the spec, after commit and rollback
> |was called on
> |  +           // UserTransaction, the thread is associated with no
> |transaction.
> |  +           // Since the BMT Tx interceptor will associate the
> |thread from the context
> |  +           // with the thread that comes in on an invocation,
> |we must set the
> |  +           // context transaction to null
> |  +           setTransaction(null);
> |  +         }
> |         }
> |
> |         public void rollback()
> |            throws IllegalStateException, SecurityException,
> |SystemException
> |         {
> |  -         con.getTransactionManager().rollback();
> |  +         try {
> |  +           con.getTransactionManager().rollback();
> |  +         } finally {
> |  +           // According to the spec, after commit and rollback
> |was called on
> |  +           // UserTransaction, the thread is associated with no
> |transaction.
> |  +           // Since the BMT Tx interceptor will associate the
> |thread from the context
> |  +           // with the thread that comes in on an invocation,
> |we must set the
> |  +           // context transaction to null
> |  +           setTransaction(null);
> |  +         }
> |         }
> |
> |         public void setRollbackOnly()
> |
> |
> |
> |
> |_______________________________________________
> |Jboss-development mailing list
> |[EMAIL PROTECTED]
> |https://lists.sourceforge.net/lists/listinfo/jboss-development
> 
> 
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
> 


_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to