Package org.apache.flink.util
Class FlinkUserCodeClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- org.apache.flink.util.MutableURLClassLoader
-
- org.apache.flink.util.FlinkUserCodeClassLoader
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
ChildFirstClassLoader
,FlinkUserCodeClassLoaders.ParentFirstClassLoader
public abstract class FlinkUserCodeClassLoader extends MutableURLClassLoader
This class loader accepts a custom handler if an exception occurs inloadClass(String, boolean)
.
-
-
Field Summary
Fields Modifier and Type Field Description protected Consumer<Throwable>
classLoadingExceptionHandler
static Consumer<Throwable>
NOOP_EXCEPTION_HANDLER
-
Constructor Summary
Constructors Modifier Constructor Description protected
FlinkUserCodeClassLoader(URL[] urls, ClassLoader parent)
protected
FlinkUserCodeClassLoader(URL[] urls, ClassLoader parent, Consumer<Throwable> classLoadingExceptionHandler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class<?>
loadClass(String name, boolean resolve)
protected Class<?>
loadClassWithoutExceptionHandling(String name, boolean resolve)
Same asloadClass(String, boolean)
but without exception handling.-
Methods inherited from class org.apache.flink.util.MutableURLClassLoader
addURL, copy
-
Methods inherited from class java.net.URLClassLoader
close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
FlinkUserCodeClassLoader
protected FlinkUserCodeClassLoader(URL[] urls, ClassLoader parent)
-
FlinkUserCodeClassLoader
protected FlinkUserCodeClassLoader(URL[] urls, ClassLoader parent, Consumer<Throwable> classLoadingExceptionHandler)
-
-
Method Detail
-
loadClass
public final Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
loadClassWithoutExceptionHandling
protected Class<?> loadClassWithoutExceptionHandling(String name, boolean resolve) throws ClassNotFoundException
Same asloadClass(String, boolean)
but without exception handling.Extending concrete class loaders should implement this instead of
loadClass(String, boolean)
.- Throws:
ClassNotFoundException
-
-