diff options
-rw-r--r-- | bcel-builder/src/main/java/org/aspectj/apache/bcel/util/ClassLoaderRepository.java | 8 | ||||
-rw-r--r-- | weaver/src/main/java/org/aspectj/weaver/reflect/Java15AnnotationFinder.java | 6 |
2 files changed, 8 insertions, 6 deletions
diff --git a/bcel-builder/src/main/java/org/aspectj/apache/bcel/util/ClassLoaderRepository.java b/bcel-builder/src/main/java/org/aspectj/apache/bcel/util/ClassLoaderRepository.java index cdc072b5c..e8d8f309e 100644 --- a/bcel-builder/src/main/java/org/aspectj/apache/bcel/util/ClassLoaderRepository.java +++ b/bcel-builder/src/main/java/org/aspectj/apache/bcel/util/ClassLoaderRepository.java @@ -98,10 +98,10 @@ public class ClassLoaderRepository implements Repository { //Cache not found classes as well to prevent unnecessary file I/O operations public static final boolean useUnavailableClassesCache = - System.getProperty("org.aspectj.apache.bcel.useUnavailableClassesCache", "true").equalsIgnoreCase("true"); + System.getProperty("org.aspectj.apache.bcel.useUnavailableClassesCache", "false").equalsIgnoreCase("true"); //Ignore cache clear requests to not build up the cache over and over again public static final boolean ignoreCacheClearRequests = - System.getProperty("org.aspectj.apache.bcel.ignoreCacheClearRequests", "true").equalsIgnoreCase("true"); + System.getProperty("org.aspectj.apache.bcel.ignoreCacheClearRequests", "false").equalsIgnoreCase("true"); //Second cache for the unavailable classes private static Set<String> unavailableClasses = new HashSet<String>(); @@ -349,7 +349,9 @@ public class ClassLoaderRepository implements Repository { classesLoadedCount++; return clazz; } catch (IOException e) { - unavailableClasses.add(className); + if (useUnavailableClassesCache) { + unavailableClasses.add(className); + } throw new ClassNotFoundException(e.toString()); } } 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); } } |