diff --git a/drools-core/src/main/java/org/drools/core/common/ProjectClassLoader.java b/drools-core/src/main/java/org/drools/core/common/ProjectClassLoader.java index b8aa9b33d50..e75008d6a98 100644 --- a/drools-core/src/main/java/org/drools/core/common/ProjectClassLoader.java +++ b/drools-core/src/main/java/org/drools/core/common/ProjectClassLoader.java @@ -147,7 +147,7 @@ protected Class loadClass(String name, boolean resolve) throws ClassNotFoundE return cls; } - Class internalLoadClass(String name, boolean resolve) throws ClassNotFoundException { + private Class internalLoadClass(String name, boolean resolve) throws ClassNotFoundException { if (CACHE_NON_EXISTING_CLASSES && nonExistingClasses.contains(name)) { throw dummyCFNE; } @@ -176,7 +176,7 @@ private Class loadType(String name, boolean resolve) throws ClassNotFoundExce return tryDefineType(name, cnfe); } - Class tryDefineType(String name, ClassNotFoundException cnfe) throws ClassNotFoundException { + private Class tryDefineType(String name, ClassNotFoundException cnfe) throws ClassNotFoundException { byte[] bytecode = getBytecode(convertClassToResourcePath(name)); if (bytecode == null) { if (CACHE_NON_EXISTING_CLASSES) { @@ -209,7 +209,7 @@ public Class defineClass(String name, byte[] bytecode) { return defineClass(name, convertClassToResourcePath(name), bytecode); } - public Class defineClass(String name, String resourceName, byte[] bytecode) { + public synchronized Class defineClass(String name, String resourceName, byte[] bytecode) { storeClass(name, resourceName, bytecode); return defineType(name, bytecode); }