diff options
author | Alexander Kriegisch <Alexander@Kriegisch.name> | 2021-05-07 17:14:34 +0700 |
---|---|---|
committer | Andy Clement <aclement@pivotal.io> | 2022-01-13 15:07:40 -0800 |
commit | 4ee5489a4ad8276895e35bb382d84075aff9c11b (patch) | |
tree | feeb5bf28fe88146f0ac3921d038716466844c1f /weaver/src/main | |
parent | 0e58847d8d341b70734576aa813f755d9a716a18 (diff) | |
download | aspectj-4ee5489a4ad8276895e35bb382d84075aff9c11b.tar.gz aspectj-4ee5489a4ad8276895e35bb382d84075aff9c11b.zip |
Optimize class loading - make backward compatible with legacy behaviour
Now the defaults are:
+ org.aspectj.apache.bcel.useSingleRepositoryInstance (default: false)
+ org.aspectj.apache.bcel.useUnavailableClassesCache (default: false)
+ org.aspectj.apache.bcel.ignoreCacheClearRequests (default: false)
I.e. the new caching optimisations are opt-in instead of opt-out as
originally designed. This might change in the future, but for now
without any additional tests and experience with the new feature let us
be conservative and make the build green first.
I also added a few more code review findings concerning backward
compatibility, which was less than 100% even with all three flags
deactivated.
Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
Diffstat (limited to 'weaver/src/main')
-rw-r--r-- | weaver/src/main/java/org/aspectj/weaver/reflect/Java15AnnotationFinder.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/weaver/src/main/java/org/aspectj/weaver/reflect/Java15AnnotationFinder.java b/weaver/src/main/java/org/aspectj/weaver/reflect/Java15AnnotationFinder.java index ef437b724..e0e1af8d2 100644 --- a/weaver/src/main/java/org/aspectj/weaver/reflect/Java15AnnotationFinder.java +++ b/weaver/src/main/java/org/aspectj/weaver/reflect/Java15AnnotationFinder.java @@ -51,7 +51,7 @@ public class Java15AnnotationFinder implements AnnotationFinder, ArgNameFinder { //Use single instance of Repository and ClassLoader public static final boolean useSingleInstances = - System.getProperty("org.aspectj.apache.bcel.useSingleRepositoryInstance", "true").equalsIgnoreCase("true"); + System.getProperty("org.aspectj.apache.bcel.useSingleRepositoryInstance", "false").equalsIgnoreCase("true"); static { try { @@ -77,13 +77,13 @@ public class Java15AnnotationFinder implements AnnotationFinder, ArgNameFinder { if (useSingleInstances && staticBcelRepository == null) staticBcelRepository = new ClassLoaderRepository(getClassLoader()); else - this.bcelRepository = new ClassLoaderRepository(getClassLoader()); + this.bcelRepository = new ClassLoaderRepository(classLoaderRef); } else { if (useSingleInstances && staticBcelRepository == null) staticBcelRepository = new NonCachingClassLoaderRepository(getClassLoader()); else - this.bcelRepository = new NonCachingClassLoaderRepository(getClassLoader()); + this.bcelRepository = new NonCachingClassLoaderRepository(classLoaderRef); } } |