lsyldliu commented on code in PR #20001:
URL: https://github.com/apache/flink/pull/20001#discussion_r916126391
##########
flink-core/src/main/java/org/apache/flink/util/MutableURLClassLoader.java:
##########
@@ -31,10 +35,38 @@ public abstract class MutableURLClassLoader extends
URLClassLoader {
ClassLoader.registerAsParallelCapable();
}
+ /**
+ * Creates a new instance of MutableURLClassLoader subclass for the
specified URLs, parent class
+ * loader and configuration.
+ */
+ public static MutableURLClassLoader newInstance(
+ final URL[] urls, final ClassLoader parent, final Configuration
configuration) {
+ final String[] alwaysParentFirstLoaderPatterns =
+ CoreOptions.getParentFirstLoaderPatterns(configuration);
+ final String classLoaderResolveOrder =
+ configuration.getString(CoreOptions.CLASSLOADER_RESOLVE_ORDER);
+ final FlinkUserCodeClassLoaders.ResolveOrder resolveOrder =
+
FlinkUserCodeClassLoaders.ResolveOrder.fromString(classLoaderResolveOrder);
+ final boolean checkClassloaderLeak =
+ configuration.getBoolean(CoreOptions.CHECK_LEAKED_CLASSLOADER);
+ return FlinkUserCodeClassLoaders.create(
+ resolveOrder,
+ urls,
+ parent,
+ alwaysParentFirstLoaderPatterns,
+ NOOP_EXCEPTION_HANDLER,
+ checkClassloaderLeak);
+ }
+
public MutableURLClassLoader(URL[] urls, ClassLoader parent) {
super(urls, parent);
}
+ @Override
+ protected Class<?> loadClass(String name, boolean resolve) throws
ClassNotFoundException {
+ return super.loadClass(name, resolve);
+ }
+
Review Comment:
Yes, we need. The `loadClass` method is protected, if we don't define this
method explicitly, we can't call it in `ClientMutableURLClassLoader`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]