[jboss-cvs] JBossAS SVN: r65331 - projects/aop/trunk/aop/src/main/org/jboss/aop.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Sep 12 11:02:51 EDT 2007
Author: flavia.rainone at jboss.com
Date: 2007-09-12 11:02:49 -0400 (Wed, 12 Sep 2007)
New Revision: 65331
Modified:
projects/aop/trunk/aop/src/main/org/jboss/aop/Advisor.java
projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
projects/aop/trunk/aop/src/main/org/jboss/aop/ClassAdvisor.java
projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedClassAdvisor.java
Log:
[JBAOP-226] Joined Advisor changes from leak brank.
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/Advisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/Advisor.java 2007-09-12 12:54:13 UTC (rev 65330)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/Advisor.java 2007-09-12 15:02:49 UTC (rev 65331)
@@ -1207,6 +1207,11 @@
defs[i].unregisterAdvisor(this);
}
}
+
+ if (methodInterceptors != null)
+ {
+ methodInterceptors.clear();
+ }
}
/**
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java 2007-09-12 12:54:13 UTC (rev 65330)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java 2007-09-12 15:02:49 UTC (rev 65331)
@@ -1987,6 +1987,11 @@
subscribedSubDomains.remove(domain);
}
}
+
+ public Map getSubscribedSubDomains()
+ {
+ return subscribedSubDomains;
+ }
private Advisor getAdvisorFromAdvisorsKeySetIterator(Iterator it)
{
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/ClassAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/ClassAdvisor.java 2007-09-12 12:54:13 UTC (rev 65330)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/ClassAdvisor.java 2007-09-12 15:02:49 UTC (rev 65331)
@@ -1690,7 +1690,23 @@
}
throw new IllegalStateException("Unknown Invocation type: " + invocation.getClass().getName());
}
-
+
+ @Override
+ public void cleanup()
+ {
+ super.cleanup();
+ if (methodByMethodData != null)
+ {
+ methodByMethodData.cleanup();
+ methodByMethodData = null;
+ }
+ if (conByMethodData != null)
+ {
+ conByMethodData.cleanup();
+ conByMethodData = null;
+ }
+ }
+
// interceptor chain observer
private InterceptorChainObserver interceptorChainObserver;
@@ -2220,6 +2236,13 @@
MethodByMethodInfo info = (MethodByMethodInfo) calledMethods.get(calledMethodHash);
return info;
}
+
+ public void cleanup()
+ {
+ methodCalledByMethodBindings.clear();
+ backrefMethodCalledByMethodBindings.clear();
+ methodCalledByMethodInterceptors.clear();
+ }
}
private class ConByMethodData
@@ -2462,5 +2485,10 @@
finalizeConCalledByMethodInterceptorChain(info);
}
+ public void cleanup()
+ {
+ conCalledByMethodBindings.clear();
+ conCalledByMethodInterceptors.clear();
+ }
}
}
\ No newline at end of file
Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedClassAdvisor.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedClassAdvisor.java 2007-09-12 12:54:13 UTC (rev 65330)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/GeneratedClassAdvisor.java 2007-09-12 15:02:49 UTC (rev 65331)
@@ -110,6 +110,28 @@
advisorStrategy = new InstanceAdvisorStrategy(parent);
}
+ @Override
+ public void cleanup()
+ {
+ System.out.println("===========> CLeaning advisor " + this.getClazz().getName());
+ super.cleanup();
+ methodInfos = null;
+ advisorStrategy = null;
+
+ Map subscribedSubDomains = getManager().getSubscribedSubDomains();
+ System.out.println("---> Domains: " + subscribedSubDomains.size());
+ synchronized (subscribedSubDomains)
+ {
+ for (Iterator it = subscribedSubDomains.keySet().iterator() ; it.hasNext() ; )
+ {
+ GeneratedAdvisorDomain manager = (GeneratedAdvisorDomain)it.next();
+ Map advisors = manager.getAdvisors();
+ System.out.println("---> Advisors: " + advisors);
+ it.remove();
+ }
+ }
+ }
+
protected void initialise(Class clazz, AspectManager manager)
{
advisorStrategy.initialise(clazz, manager);
@@ -1679,4 +1701,5 @@
enum OldInfoMaps{
INFOS, FIELD_READ_INFOS, CONSTRUCTION_INFOS;
}
+
}
More information about the jboss-cvs-commits
mailing list