aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bcel-builder/src/main/java/org/aspectj/apache/bcel/util/ClassLoaderRepository.java8
-rw-r--r--weaver/src/main/java/org/aspectj/weaver/reflect/Java15AnnotationFinder.java6
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);
}
}