[jbosscache-commits] JBoss Cache SVN: r5541 - core/trunk/src/main/java/org/jboss/cache/interceptors.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Sat Apr 12 18:59:56 EDT 2008
Author: manik.surtani at jboss.com
Date: 2008-04-12 18:59:56 -0400 (Sat, 12 Apr 2008)
New Revision: 5541
Modified:
core/trunk/src/main/java/org/jboss/cache/interceptors/PessimisticLockInterceptor.java
Log:
need to RELEASE locks as well for non-tx calls!!
Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/PessimisticLockInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/PessimisticLockInterceptor.java 2008-04-12 22:59:30 UTC (rev 5540)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/PessimisticLockInterceptor.java 2008-04-12 22:59:56 UTC (rev 5541)
@@ -104,7 +104,26 @@
{
lockManager.acquireLocksWithTimeout(ctx, command.getFqn(), NodeLock.LockType.WRITE, true, false, false, true, null, false);
}
- return invokeNextInterceptor(ctx, command);
+
+ Object retVal = invokeNextInterceptor(ctx, command);
+
+ // we NEED to unlock stuff!!! - Manik
+
+ if (ctx.getGlobalTransaction() == null && ctx.getTransaction() == null)
+ {
+ Thread current = Thread.currentThread();
+ // we are not transactional.
+ try
+ {
+ for (NodeLock nl : ctx.getInvocationLocksAcquired()) nl.release(current);
+ }
+ finally
+ {
+ ctx.clearInvocationLocksAcquired();
+ }
+ }
+
+ return retVal;
}
protected boolean skipMethodCall(InvocationContext ctx)
More information about the jbosscache-commits
mailing list