mirror of
https://github.com/apache/openjpa.git
synced 2025-02-08 11:06:01 +00:00
OPENJPA-1918: Append PUInfo classloader to MDR.preload() classloader chain.
git-svn-id: https://svn.apache.org/repos/asf/openjpa/branches/2.1.x@1056130 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
fc581a7d8f
commit
92aba0ead7
@ -51,6 +51,7 @@ import org.apache.openjpa.lib.util.Localizer;
|
|||||||
import org.apache.openjpa.lib.util.MultiClassLoader;
|
import org.apache.openjpa.lib.util.MultiClassLoader;
|
||||||
import org.apache.openjpa.lib.util.Options;
|
import org.apache.openjpa.lib.util.Options;
|
||||||
import org.apache.openjpa.lib.util.StringDistance;
|
import org.apache.openjpa.lib.util.StringDistance;
|
||||||
|
import org.apache.openjpa.util.ClassResolver;
|
||||||
import org.apache.openjpa.util.ImplHelper;
|
import org.apache.openjpa.util.ImplHelper;
|
||||||
import org.apache.openjpa.util.InternalException;
|
import org.apache.openjpa.util.InternalException;
|
||||||
import org.apache.openjpa.util.MetaDataException;
|
import org.apache.openjpa.util.MetaDataException;
|
||||||
@ -311,10 +312,20 @@ public class MetaDataRepository implements PCRegistry.RegisterClassListener, Con
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MultiClassLoader multi = AccessController.doPrivileged(J2DoPrivHelper.newMultiClassLoaderAction());
|
MultiClassLoader multi = AccessController.doPrivileged(J2DoPrivHelper.newMultiClassLoaderAction());
|
||||||
multi.addClassLoader(AccessController.doPrivileged(J2DoPrivHelper.getContextClassLoaderAction()));
|
multi.addClassLoader(AccessController.doPrivileged(J2DoPrivHelper.getContextClassLoaderAction()));
|
||||||
multi.addClassLoader(AccessController.doPrivileged(J2DoPrivHelper
|
multi.addClassLoader(AccessController.doPrivileged(J2DoPrivHelper
|
||||||
.getClassLoaderAction(MetaDataRepository.class)));
|
.getClassLoaderAction(MetaDataRepository.class)));
|
||||||
|
// If a ClassLoader was passed into Persistence.createContainerEntityManagerFactory on the PersistenceUnitInfo
|
||||||
|
// we need to add that loader to the chain of classloaders
|
||||||
|
ClassResolver resolver = _conf.getClassResolverInstance();
|
||||||
|
if (resolver != null) {
|
||||||
|
ClassLoader cl = resolver.getClassLoader(null, null);
|
||||||
|
if (cl != null) {
|
||||||
|
multi.addClassLoader(cl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Set<String> classes = getPersistentTypeNames(false, multi);
|
Set<String> classes = getPersistentTypeNames(false, multi);
|
||||||
if (classes == null || classes.size() == 0) {
|
if (classes == null || classes.size() == 0) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user