Package org.apache.druid.guice
Class ExtensionFirstClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- org.apache.druid.guice.StandardURLClassLoader
-
- org.apache.druid.guice.ExtensionFirstClassLoader
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class ExtensionFirstClassLoader extends StandardURLClassLoader
The ClassLoader that gets used when druid.extensions.useExtensionClassloaderFirst = true.
-
-
Constructor Summary
Constructors Constructor Description ExtensionFirstClassLoader(URL[] urls, ClassLoader druidLoader, List<ClassLoader> extensionDependencyClassLoaders)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description URLgetResource(String name)Enumeration<URL>getResources(String name)Class<?>loadClass(String name)protected Class<?>loadClass(String name, boolean resolve)-
Methods inherited from class org.apache.druid.guice.StandardURLClassLoader
addExtensionResources, getExtensionDependencyClassLoaders, getResourceFromExtensionsDependencies, loadClassFromExtensionDependencies
-
Methods inherited from class java.net.URLClassLoader
addURL, 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, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
ExtensionFirstClassLoader
public ExtensionFirstClassLoader(URL[] urls, ClassLoader druidLoader, List<ClassLoader> extensionDependencyClassLoaders)
-
-
Method Detail
-
loadClass
public Class<?> loadClass(String name) throws ClassNotFoundException
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
loadClass
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
- Overrides:
loadClassin classStandardURLClassLoader- Throws:
ClassNotFoundException
-
getResource
public URL getResource(String name)
- Overrides:
getResourcein classStandardURLClassLoader
-
getResources
public Enumeration<URL> getResources(String name) throws IOException
- Overrides:
getResourcesin classStandardURLClassLoader- Throws:
IOException
-
-