From 9227428037f12379d192ef9c624c6095b87cd09e Mon Sep 17 00:00:00 2001 From: "David M. Lloyd" Date: Tue, 8 May 2018 10:11:13 -0500 Subject: [PATCH] HHH-10435 Create class loaders in a privileged block --- .../classloading/internal/ClassLoaderServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hibernate-core/src/main/java/org/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl.java b/hibernate-core/src/main/java/org/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl.java index 26dade5d3fb6..fa18b904f6a1 100644 --- a/hibernate-core/src/main/java/org/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/boot/registry/classloading/internal/ClassLoaderServiceImpl.java @@ -11,6 +11,8 @@ import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; import java.net.URL; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -91,7 +93,11 @@ public ClassLoaderServiceImpl(Collection providedClassLoaders) { } // now build the aggregated class loader... - this.aggregatedClassLoader = new AggregatedClassLoader( orderedClassLoaderSet ); + this.aggregatedClassLoader = AccessController.doPrivileged(new PrivilegedAction() { + public AggregatedClassLoader run() { + return new AggregatedClassLoader( orderedClassLoaderSet ); + } + }); } /**