[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