[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