[jboss-cvs] JBossCache/src-50/org/jboss/cache/pojo/interceptors ...

Ben Wang bwang at jboss.com
Sat Sep 16 22:26:04 EDT 2006


  User: bwang   
  Date: 06/09/16 22:26:03

  Modified:    src-50/org/jboss/cache/pojo/interceptors  
                        PojoFailedTxMockupInterceptor.java
                        PojoTxInterceptor.java
  Log:
  Bug fixed for tx rollback.
  
  Revision  Changes    Path
  1.3       +12 -4     JBossCache/src-50/org/jboss/cache/pojo/interceptors/PojoFailedTxMockupInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PojoFailedTxMockupInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src-50/org/jboss/cache/pojo/interceptors/PojoFailedTxMockupInterceptor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- PojoFailedTxMockupInterceptor.java	5 Sep 2006 06:11:25 -0000	1.2
  +++ PojoFailedTxMockupInterceptor.java	17 Sep 2006 02:26:03 -0000	1.3
  @@ -9,6 +9,8 @@
   
   import org.jboss.aop.joinpoint.Invocation;
   import org.jboss.aop.joinpoint.MethodInvocation;
  +import org.jboss.cache.Fqn;
  +import org.jboss.cache.pojo.InternalConstant;
   
   import javax.transaction.Transaction;
   
  @@ -19,7 +21,7 @@
    * has been performed.
    *
    * @author Ben Wang
  - * @version $Id: PojoFailedTxMockupInterceptor.java,v 1.2 2006/09/05 06:11:25 bwang Exp $
  + * @version $Id: PojoFailedTxMockupInterceptor.java,v 1.3 2006/09/17 02:26:03 bwang Exp $
    */
   public class PojoFailedTxMockupInterceptor extends AbstractInterceptor
   {
  @@ -39,16 +41,22 @@
         }
         MethodInvocation invocation = (MethodInvocation) in;
   
  -      Transaction tx = getInvocationContext(invocation).getTransaction();
  +      Transaction tx = (Transaction)
  +              invocation.getMetaData().getMetaData(PojoTxInterceptor.TAG, PojoTxInterceptor.TX);
         try
         {
            Object obj = null;
            obj = invocation.invokeNext(); // proceed to next advice or actual call
            if(TX_ROLLBACK)
            {
  +            Fqn id = (Fqn) invocation.getArguments()[0];
  +
  +            if(!id.isChildOrEquals(InternalConstant.JBOSS_INTERNAL))
  +            {
               tx.setRollbackOnly();
               TX_ROLLBACK = false;
            }
  +         }
            return obj;
         } finally
         {
  
  
  
  1.6       +5 -8      JBossCache/src-50/org/jboss/cache/pojo/interceptors/PojoTxInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PojoTxInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src-50/org/jboss/cache/pojo/interceptors/PojoTxInterceptor.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- PojoTxInterceptor.java	8 Sep 2006 09:15:48 -0000	1.5
  +++ PojoTxInterceptor.java	17 Sep 2006 02:26:03 -0000	1.6
  @@ -10,7 +10,6 @@
   import org.jboss.aop.joinpoint.Invocation;
   import org.jboss.aop.joinpoint.MethodInvocation;
   import org.jboss.cache.pojo.PojoCacheException;
  -import org.jboss.cache.transaction.BatchModeTransactionManager;
   import org.jboss.cache.Fqn;
   
   import javax.transaction.RollbackException;
  @@ -22,11 +21,11 @@
    * Interceptor (done via aop advice) for transaction
    *
    * @author Ben Wang
  - * @version $Id: PojoTxInterceptor.java,v 1.5 2006/09/08 09:15:48 bwang Exp $
  + * @version $Id: PojoTxInterceptor.java,v 1.6 2006/09/17 02:26:03 bwang Exp $
    */
   public class PojoTxInterceptor extends AbstractInterceptor
   {
  -   private TransactionManager localTm_ = BatchModeTransactionManager.getInstance();
  +   private TransactionManager localTm_ = null;
      private TransactionManager txManager_;
      public static final String TAG = "PC";
      public static final String TX = "TX";
  @@ -48,13 +47,11 @@
         Transaction tx = null;
         if(txManager_ != null)
         {
  -         tx = txManager_.getTransaction();
  +         // Use the configured one if so setup.
  +         localTm_ = txManager_;
         }
   
  -      if(tx == null)
  -      {
            tx = localTm_.getTransaction();   
  -      }
   
         boolean needTx = false;
         if (tx == null) needTx = true;
  
  
  



More information about the jboss-cvs-commits mailing list