[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