[infinispan-commits] Infinispan SVN: r593 - trunk/core/src/main/java/org/infinispan/interceptors.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Mon Jul 20 11:40:47 EDT 2009


Author: mircea.markus
Date: 2009-07-20 11:40:46 -0400 (Mon, 20 Jul 2009)
New Revision: 593

Modified:
   trunk/core/src/main/java/org/infinispan/interceptors/DeadlockDetectingInterceptor.java
Log:
[ISPN-38] - (eager deadlock detection) - allow deadlock detection for other operations as well

Modified: trunk/core/src/main/java/org/infinispan/interceptors/DeadlockDetectingInterceptor.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/interceptors/DeadlockDetectingInterceptor.java	2009-07-20 15:35:56 UTC (rev 592)
+++ trunk/core/src/main/java/org/infinispan/interceptors/DeadlockDetectingInterceptor.java	2009-07-20 15:40:46 UTC (rev 593)
@@ -1,8 +1,11 @@
 package org.infinispan.interceptors;
 
+import org.infinispan.commands.DataCommand;
 import org.infinispan.commands.tx.PrepareCommand;
 import org.infinispan.commands.tx.RollbackCommand;
 import org.infinispan.commands.write.PutKeyValueCommand;
+import org.infinispan.commands.write.RemoveCommand;
+import org.infinispan.commands.write.ReplaceCommand;
 import org.infinispan.context.InvocationContext;
 import org.infinispan.context.impl.TxInvocationContext;
 import org.infinispan.factories.annotations.Inject;
@@ -51,8 +54,7 @@
       }
    }
 
-   @Override
-   public Object visitPutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command) throws Throwable {
+   private Object handleDataCommand(InvocationContext ctx, DataCommand command) throws Throwable {
       if (ctx.isInTxScope()) {
          DeadlockDetectingGlobalTransaction gtx = (DeadlockDetectingGlobalTransaction) ctx.getLockOwner();
          gtx.setLockInterntion(command.getKey());
@@ -82,6 +84,21 @@
    }
 
    @Override
+   public Object visitPutKeyValueCommand(InvocationContext ctx, PutKeyValueCommand command) throws Throwable {
+      return handleDataCommand(ctx, command);
+   }
+
+   @Override
+   public Object visitRemoveCommand(InvocationContext ctx, RemoveCommand command) throws Throwable {
+      return handleDataCommand(ctx, command);
+   }
+
+   @Override
+   public Object visitReplaceCommand(InvocationContext ctx, ReplaceCommand command) throws Throwable {
+      return handleDataCommand(ctx, command);
+   }
+
+   @Override
    public Object visitPrepareCommand(TxInvocationContext ctx, PrepareCommand command) throws Throwable {
       DeadlockDetectingGlobalTransaction globalTransaction = (DeadlockDetectingGlobalTransaction) ctx.getGlobalTransaction();
       globalTransaction.setProcessingThread(Thread.currentThread());



More information about the infinispan-commits mailing list