From: Andy Clement Date: Fri, 20 Oct 2017 19:37:58 +0000 (-0700) Subject: Temporarily removing world reuse - needs a bit more thought X-Git-Tag: V1_9_0_RC3~2^2~24 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8bbf29f6f15d97131b3ae2a5ac0da8ae449263cb;p=aspectj.git Temporarily removing world reuse - needs a bit more thought --- 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() {