[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