[jboss-cvs] jboss-seam/src/main/org/jboss/seam/interceptors ...
Gavin King
gavin.king at jboss.com
Thu Oct 12 22:24:30 EDT 2006
User: gavin
Date: 06/10/12 22:24:30
Modified: src/main/org/jboss/seam/interceptors
SynchronizationInterceptor.java
Log:
better thought-out locking model
Revision Changes Path
1.3 +5 -6 jboss-seam/src/main/org/jboss/seam/interceptors/SynchronizationInterceptor.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SynchronizationInterceptor.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/interceptors/SynchronizationInterceptor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- SynchronizationInterceptor.java 13 Oct 2006 01:27:32 -0000 1.2
+++ SynchronizationInterceptor.java 13 Oct 2006 02:24:30 -0000 1.3
@@ -1,8 +1,8 @@
-//$Id: SynchronizationInterceptor.java,v 1.2 2006/10/13 01:27:32 gavin Exp $
+//$Id: SynchronizationInterceptor.java,v 1.3 2006/10/13 02:24:30 gavin Exp $
package org.jboss.seam.interceptors;
-import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
+import java.util.concurrent.locks.ReentrantLock;
import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;
@@ -19,12 +19,12 @@
public class SynchronizationInterceptor extends AbstractInterceptor
{
- private Semaphore semaphore = new Semaphore(1, true);
+ private ReentrantLock lock = new ReentrantLock(true);
@AroundInvoke
public synchronized Object serialize(InvocationContext invocation) throws Exception
{
- if ( semaphore.tryAcquire( getComponent().getTimeout(), TimeUnit.MILLISECONDS ) )
+ if ( lock.tryLock( getComponent().getTimeout(), TimeUnit.MILLISECONDS ) )
{
try
{
@@ -32,7 +32,7 @@
}
finally
{
- semaphore.release();
+ lock.unlock();
}
}
else
@@ -41,5 +41,4 @@
}
}
-
}
More information about the jboss-cvs-commits
mailing list