[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