From 8bbf29f6f15d97131b3ae2a5ac0da8ae449263cb Mon Sep 17 00:00:00 2001 From: Andy Clement Date: Fri, 20 Oct 2017 12:37:58 -0700 Subject: [PATCH] Temporarily removing world reuse - needs a bit more thought --- .../src/org/aspectj/weaver/reflect/ReflectionWorld.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/reflect/ReflectionWorld.java b/org.aspectj.matcher/src/org/aspectj/weaver/reflect/ReflectionWorld.java index d06db52d1..c784ff288 100644 --- a/org.aspectj.matcher/src/org/aspectj/weaver/reflect/ReflectionWorld.java +++ b/org.aspectj.matcher/src/org/aspectj/weaver/reflect/ReflectionWorld.java @@ -43,6 +43,14 @@ public class ReflectionWorld extends World implements IReflectionWorld { private Map> inProgressResolutionClasses = new HashMap>(); public static ReflectionWorld getReflectionWorldFor(WeakClassLoaderReference classLoaderReference) { + + // Temporarily do as before. Although the cache makes things faster it needs a bit more thought because + // if the world has pointcutdesignators registered then someone may inadvertently register additional + // ones on reusing a world (when they would be expecting a clean world). We can't automatically + // clear them because we don't know when they are finished with. + return new ReflectionWorld(classLoaderReference); + + /* synchronized (rworlds) { // Tidyup any no longer relevant entries... for (Iterator> it = rworlds.entrySet().iterator(); @@ -62,6 +70,7 @@ public class ReflectionWorld extends World implements IReflectionWorld { } return rworld; } + */ } public static void cleanUpWorlds() { -- 2.39.5