[jboss-cvs] JBossAS SVN: r66436 - in projects/aop/trunk: asintegration/src/main/org/jboss/aop/asintegration/jboss5 and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 25 10:31:38 EDT 2007


Author: kabir.khan at jboss.com
Date: 2007-10-25 10:31:37 -0400 (Thu, 25 Oct 2007)
New Revision: 66436

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
   projects/aop/trunk/asintegration/src/main/org/jboss/aop/asintegration/jboss5/DefaultTranslator.java
   projects/aop/trunk/asintegration/src/main/org/jboss/aop/deployers/AspectDeployer.java
Log:
[JBAOP-409] Get rid of NPEs on undeployment. If a Advisor is not registered in the current domain, we should not attempt to update it's bindings

Modified: projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
===================================================================
--- projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java	2007-10-25 14:26:52 UTC (rev 66435)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java	2007-10-25 14:31:37 UTC (rev 66436)
@@ -1368,6 +1368,10 @@
                {
                   if (!domain.isAdvisorRegistered(advisor))continue;
                }
+               else
+               {
+                  continue;//If advisor does not belong to a subscribed subdomain, we should not rebuild
+               }
             }
          }
          advisor.removeAdviceBindings(removedBindings);

Modified: projects/aop/trunk/asintegration/src/main/org/jboss/aop/asintegration/jboss5/DefaultTranslator.java
===================================================================
--- projects/aop/trunk/asintegration/src/main/org/jboss/aop/asintegration/jboss5/DefaultTranslator.java	2007-10-25 14:26:52 UTC (rev 66435)
+++ projects/aop/trunk/asintegration/src/main/org/jboss/aop/asintegration/jboss5/DefaultTranslator.java	2007-10-25 14:31:37 UTC (rev 66436)
@@ -63,6 +63,5 @@
 
    public void unregisterClassLoader(ClassLoader loader)
    {
-      manager.unregisterClassLoader(loader);
    }
 }

Modified: projects/aop/trunk/asintegration/src/main/org/jboss/aop/deployers/AspectDeployer.java
===================================================================
--- projects/aop/trunk/asintegration/src/main/org/jboss/aop/deployers/AspectDeployer.java	2007-10-25 14:26:52 UTC (rev 66435)
+++ projects/aop/trunk/asintegration/src/main/org/jboss/aop/deployers/AspectDeployer.java	2007-10-25 14:31:37 UTC (rev 66436)
@@ -142,17 +142,27 @@
    
    public void undeploy(VFSDeploymentUnit unit)
    {
-      AspectManager manager = getCorrectManager(unit);
-      List<VirtualFile> files = unit.getMetaDataFiles(null, AOP_DD_SUFFIX);
-
-      if (isAopArchiveOrFolder(unit))
+      try
       {
-         undeployAnnotations(manager, unit);
+         AspectManager manager = getCorrectManager(unit);
+         List<VirtualFile> files = unit.getMetaDataFiles(null, AOP_DD_SUFFIX);
+   
+         if (isAopArchiveOrFolder(unit))
+         {
+            undeployAnnotations(manager, unit);
+         }
+         
+         if (files.size() > 0)
+         {
+            undeployXml(manager, unit, files);
+         }
       }
-      
-      if (files.size() > 0)
+      finally
       {
-         undeployXml(manager, unit, files);
+         if (unit.getTopLevel() == unit)
+         {
+            aspectManager.unregisterClassLoader(unit.getClassLoader());
+         }
       }
    }
 




More information about the jboss-cvs-commits mailing list