[jboss-cvs] JBossAS SVN: r69486 - in projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop: annotation and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 30 08:11:00 EST 2008


Author: kabir.khan at jboss.com
Date: 2008-01-30 08:10:59 -0500 (Wed, 30 Jan 2008)
New Revision: 69486

Modified:
   projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/Advisor.java
   projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/AspectManager.java
   projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/GeneratedClassAdvisor.java
   projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/JoinPointInfo.java
   projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/annotation/AnnotationRepository.java
Log:
Change lock implementation so we can get more logging

Modified: projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/Advisor.java
===================================================================
--- projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/Advisor.java	2008-01-30 12:05:40 UTC (rev 69485)
+++ projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/Advisor.java	2008-01-30 13:10:59 UTC (rev 69486)
@@ -39,7 +39,6 @@
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArraySet;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import javassist.CtClass;
 import javassist.CtConstructor;
@@ -70,6 +69,7 @@
 import org.jboss.aop.metadata.MethodMetaData;
 import org.jboss.aop.metadata.SimpleMetaData;
 import org.jboss.aop.pointcut.PointcutMethodMatch;
+import org.jboss.aop.util.LoggingReentrantReadWriteLock;
 import org.jboss.aop.util.UnmodifiableEmptyCollections;
 import org.jboss.metadata.spi.MetaData;
 import org.jboss.metadata.spi.signature.ConstructorSignature;
@@ -124,7 +124,7 @@
    }
 
    /** Read/Write lock to be used when lazy creating the collections */
-   protected ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
+   protected LoggingReentrantReadWriteLock lock = new LoggingReentrantReadWriteLock();
 
    protected Set<AdviceBinding> adviceBindings = new HashSet<AdviceBinding>();
    protected volatile ArrayList<InterfaceIntroduction> interfaceIntroductions = UnmodifiableEmptyCollections.EMPTY_ARRAYLIST;
@@ -930,7 +930,7 @@
       for (int i = 0; i < methodMatchInfos.length; i++)
       {
          MethodMatchInfo methodMatchInfo = (MethodMatchInfo) methodMatchInfos[i];
-         methodMatchInfo.getInfo().getInterceptorChainReadWriteLock().writeLock().lock();
+         methodMatchInfo.getInfo().getInterceptorChainReadWriteLock().lockWrite();
       }
    }
    
@@ -940,7 +940,7 @@
       for (int i = 0; i < methodMatchInfos.length; i++)
       {
          MethodMatchInfo methodMatchInfo = (MethodMatchInfo) methodMatchInfos[i];
-         methodMatchInfo.getInfo().getInterceptorChainReadWriteLock().writeLock().unlock();
+         methodMatchInfo.getInfo().getInterceptorChainReadWriteLock().unlockWrite();
       }
    }
    
@@ -1146,7 +1146,7 @@
    {
       for (int i = 0; i < infos.length; i++)
       {
-         infos[i].getInterceptorChainReadWriteLock().writeLock().lock();
+         infos[i].getInterceptorChainReadWriteLock().lockWrite();
       }
    }
    
@@ -1154,7 +1154,7 @@
    {
       for (int i = 0; i < infos.length; i++)
       {
-         infos[i].getInterceptorChainReadWriteLock().writeLock().unlock();
+         infos[i].getInterceptorChainReadWriteLock().unlockWrite();
       }
    }
    
@@ -1370,7 +1370,7 @@
     */
    protected void lockWrite()
    {
-      lock.writeLock().lock();
+      lock.lockWrite();
    }
 
    /**
@@ -1378,7 +1378,7 @@
     */
    protected void unlockWrite()
    {
-      lock.writeLock().unlock();
+      lock.unlockWrite();
    }
 
    protected void initInterfaceIntroductionsList()

Modified: projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/AspectManager.java	2008-01-30 12:05:40 UTC (rev 69485)
+++ projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/AspectManager.java	2008-01-30 13:10:59 UTC (rev 69486)
@@ -38,7 +38,6 @@
 import java.util.StringTokenizer;
 import java.util.WeakHashMap;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import javassist.ClassPool;
 import javassist.CtClass;
@@ -80,6 +79,7 @@
 import org.jboss.aop.pointcut.PointcutStats;
 import org.jboss.aop.pointcut.Typedef;
 import org.jboss.aop.pointcut.ast.ClassExpression;
+import org.jboss.aop.util.LoggingReentrantReadWriteLock;
 import org.jboss.aop.util.UnmodifiableEmptyCollections;
 import org.jboss.aop.util.logging.AOPLogger;
 import org.jboss.logging.Logger;
@@ -108,7 +108,7 @@
    private static final Logger logger = AOPLogger.getLogger(AspectManager.class);
    
    /** Read/Write lock to be used when lazy creating the collections */
-   ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
+   LoggingReentrantReadWriteLock lock = new LoggingReentrantReadWriteLock();
 
    /** Advisors registered with this manager/domain */
    protected final WeakHashMap advisors = new WeakHashMap();
@@ -2186,7 +2186,7 @@
     */
    protected void lockWrite()
    {
-      lock.writeLock().lock();
+      lock.lockWrite();
    }
 
    /**
@@ -2194,7 +2194,7 @@
     */
    protected void unlockWrite()
    {
-      lock.writeLock().unlock();
+      lock.unlockWrite();
    }
 
    protected void initSubDomainsByNameMap()

Modified: projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/GeneratedClassAdvisor.java
===================================================================
--- projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/GeneratedClassAdvisor.java	2008-01-30 12:05:40 UTC (rev 69485)
+++ projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/GeneratedClassAdvisor.java	2008-01-30 13:10:59 UTC (rev 69486)
@@ -1072,7 +1072,7 @@
    
    protected Object rebindJoinPointWithInstanceInformation(JoinPointInfo info)
    {
-      info.getInterceptorChainReadWriteLock().readLock().lock();
+      info.getInterceptorChainReadWriteLock().lockRead();
       try
       {
          JoinPointGenerator generator = getJoinPointGenerator(info);
@@ -1081,7 +1081,7 @@
       }
       finally
       {
-         info.getInterceptorChainReadWriteLock().readLock().unlock();
+         info.getInterceptorChainReadWriteLock().unlockRead();
       }
    }
    

Modified: projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/JoinPointInfo.java
===================================================================
--- projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/JoinPointInfo.java	2008-01-30 12:05:40 UTC (rev 69485)
+++ projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/JoinPointInfo.java	2008-01-30 13:10:59 UTC (rev 69486)
@@ -23,16 +23,16 @@
 
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.jboss.aop.advice.GeneratedAdvisorInterceptor;
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.JoinPointBean;
 import org.jboss.aop.joinpoint.Joinpoint;
+import org.jboss.aop.util.LoggingReentrantReadWriteLock;
 
 public abstract class JoinPointInfo implements JoinPointBean
 {
-   private ReentrantReadWriteLock interceptorChainLock = new ReentrantReadWriteLock();
+   private LoggingReentrantReadWriteLock interceptorChainLock = new LoggingReentrantReadWriteLock();
    
    private Interceptor[] interceptors;
 
@@ -103,20 +103,20 @@
 
    public boolean hasAdvices()
    {
-      this.interceptorChainLock.readLock().lock();
+      this.interceptorChainLock.lockRead();
       try
       {
          return (interceptors != null && interceptors.length > 0);
       }
       finally
       {
-         this.interceptorChainLock.readLock().unlock();
+         this.interceptorChainLock.unlockRead();
       }
    }
    
    public boolean equalChains(Interceptor[] otherInterceptors)
    {
-      this.interceptorChainLock.readLock().lock();
+      this.interceptorChainLock.lockRead();
       try
       {
          if (this.interceptors == null && otherInterceptors == null) return true;
@@ -132,7 +132,7 @@
       }
       finally
       {
-         this.interceptorChainLock.readLock().unlock();
+         this.interceptorChainLock.unlockRead();
       }
    }
    
@@ -146,34 +146,40 @@
    }
    
    public ArrayList<Interceptor> getInterceptorChain() {
-      this.interceptorChainLock.readLock().lock();
+      this.interceptorChainLock.lockRead();
       try
       {
          return interceptorChain;
       }
       finally
       {
-         this.interceptorChainLock.readLock().unlock();
+         this.interceptorChainLock.unlockRead();
       }
    }
 
    public Interceptor[] getInterceptors() {
-      this.interceptorChainLock.readLock().lock();
+      this.interceptorChainLock.lockRead();
       try
       {
          return interceptors;
       }
       finally
       {
-         this.interceptorChainLock.readLock().unlock();
+         this.interceptorChainLock.unlockRead();
       }
    }
 
    public void setInterceptors(Interceptor[] interceptors) {
-      this.interceptorChainLock.writeLock().lock();
-      adviceString = null;
-      this.interceptors = interceptors;
-      this.interceptorChainLock.writeLock().unlock();
+      try
+      {
+         this.interceptorChainLock.lockWrite();
+         adviceString = null;
+         this.interceptors = interceptors;
+      }
+      finally
+      {
+         this.interceptorChainLock.unlockWrite();
+      }
    }
 
    protected abstract Joinpoint internalGetJoinpoint();
@@ -201,8 +207,8 @@
    
    public void cloneChains(JoinPointInfo other)
    {
-      this.interceptorChainLock.writeLock().lock();
-      other.interceptorChainLock.readLock().lock();
+      this.interceptorChainLock.lockWrite();
+      other.interceptorChainLock.lockRead();
       try
       {
          interceptorChain = (ArrayList) other.interceptorChain.clone();
@@ -217,8 +223,8 @@
       }
       finally
       {
-         this.interceptorChainLock.writeLock().unlock();
-         other.interceptorChainLock.readLock().unlock();
+         this.interceptorChainLock.unlockWrite();
+         other.interceptorChainLock.unlockRead();
       }
    }
    
@@ -249,7 +255,7 @@
       return adviceString; 
    }
    
-   public final ReentrantReadWriteLock getInterceptorChainReadWriteLock()
+   public final LoggingReentrantReadWriteLock getInterceptorChainReadWriteLock()
    {
       return this.interceptorChainLock;
    }

Modified: projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/annotation/AnnotationRepository.java
===================================================================
--- projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/annotation/AnnotationRepository.java	2008-01-30 12:05:40 UTC (rev 69485)
+++ projects/aop/branches/deadlocks/aop/src/main/org/jboss/aop/annotation/AnnotationRepository.java	2008-01-30 13:10:59 UTC (rev 69486)
@@ -30,9 +30,9 @@
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.jboss.annotation.factory.AnnotationCreator;
+import org.jboss.aop.util.LoggingReentrantReadWriteLock;
 import org.jboss.aop.util.UnmodifiableEmptyCollections;
 
 import javassist.CtMember;
@@ -48,7 +48,7 @@
    private static final String CLASS_ANNOTATION = "CLASS";
    
    /** Read/Write lock to be used when lazy creating the collections */
-   protected ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
+   protected LoggingReentrantReadWriteLock lock = new LoggingReentrantReadWriteLock();
 
    volatile Map annotations = UnmodifiableEmptyCollections.EMPTY_CONCURRENT_HASHMAP;
    volatile Map classAnnotations = UnmodifiableEmptyCollections.EMPTY_CONCURRENT_HASHMAP;
@@ -272,7 +272,7 @@
     */
    protected void lockWrite()
    {
-      lock.writeLock().lock();
+      lock.lockWrite();
    }
 
    /**
@@ -280,7 +280,7 @@
     */
    protected void unlockWrite()
    {
-      lock.writeLock().unlock();
+      lock.unlockWrite();
    }
 
    protected void initAnnotationsMap()




More information about the jboss-cvs-commits mailing list