[jboss-cvs] JBossAS SVN: r65598 - projects/aop/trunk/aop/src/main/org/jboss/aop.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Sep 25 11:36:11 EDT 2007


Author: kabir.khan at jboss.com
Date: 2007-09-25 11:36:10 -0400 (Tue, 25 Sep 2007)
New Revision: 65598

Modified:
   projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java
Log:
Never put AspectDefintions in the perVmAspects map

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-25 14:43:27 UTC (rev 65597)
+++ projects/aop/trunk/aop/src/main/org/jboss/aop/AspectManager.java	2007-09-25 15:36:10 UTC (rev 65598)
@@ -1753,11 +1753,15 @@
    public Object getPerVMAspect(String def)
    {
       Object aspect = perVMAspects.get(def);
-      if (aspect instanceof AspectDefinition)
+      if (aspect == null)
       {
-         synchronized (aspect)
+         AspectDefinition adef = (AspectDefinition)aspectDefinitions.get(def);
+         if (adef != null && adef.getScope() == Scope.PER_VM)
          {
-            return createPerVmAspect(def, (AspectDefinition)aspect, null);
+            synchronized (adef)
+            {
+               aspect = createPerVmAspect(def, adef, null);
+            }
          }
       }
       return aspect;
@@ -1793,11 +1797,6 @@
    public void addAspectDefinition(AspectDefinition def)
    {
       removeAspectDefinition(def.getName());
-      if (def.getScope() == Scope.PER_VM)
-      {
-         initPerVMAspectsMap();
-         perVMAspects.put(def.getName(), def);
-      }
       initAspectDefintitionsMap();
       aspectDefinitions.put(def.getName(), def);
    }




More information about the jboss-cvs-commits mailing list