[jboss-cvs] JBossAS SVN: r61552 - in projects/aop/trunk/aop/src/main/org/jboss/aop: classpool and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Mar 21 13:33:08 EDT 2007


Author: kabir.khan at jboss.com
Date: 2007-03-21 13:33:08 -0400 (Wed, 21 Mar 2007)
New Revision: 61552

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AspectDefinition.java
   projects/aop/trunk/aop/src/main/org/jboss/aop/classpool/AOPClassPoolRepository.java
Log:
Fix NPE on undeploy in JBoss 5

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AspectDefinition.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AspectDefinition.java	2007-03-21 16:13:17 UTC (rev 61551)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/advice/AspectDefinition.java	2007-03-21 17:33:08 UTC (rev 61552)
@@ -42,7 +42,10 @@
    protected AspectFactory factory;
    protected boolean deployed = true;
 
-   private Map advisors = new ConcurrentReaderHashMap();
+   /**
+    * @deprecated should not call this directly
+    */
+   public Map advisors = new ConcurrentReaderHashMap();
 
    /**
     * @param name

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/classpool/AOPClassPoolRepository.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/classpool/AOPClassPoolRepository.java	2007-03-21 16:13:17 UTC (rev 61551)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/classpool/AOPClassPoolRepository.java	2007-03-21 17:33:08 UTC (rev 61552)
@@ -195,11 +195,15 @@
                Object clazz = it.next();
                synchronized (manager.getAdvisors())
                {
-                  WeakReference ref = (WeakReference)manager.getAdvisors().remove(clazz);
-                  Advisor advisor = (Advisor)ref.get();
-                  if (advisor != null)
+                  WeakReference ref = (WeakReference)manager.getAdvisors().get(clazz);
+                  if (ref != null)
                   {
-                     advisor.cleanup();
+                     Advisor advisor = (Advisor)ref.get();
+                     manager.getAdvisors().remove(clazz);
+                     if (advisor != null)
+                     {
+                        advisor.cleanup();
+                     }
                   }
                   Class advisedClass = (Class)clazz;
                   try




More information about the jboss-cvs-commits mailing list