public class CascadingClassLoadHelper extends Object implements IClassLoadHelper
ClassLoadHelper uses all of the ClassLoadHelper
types that are found in this package in its attempts to load a class, when
one scheme is found to work, it is promoted to the scheme that will be used
first the next time a class is loaded (in order to improve performance).
This approach is used because of the wide variance in class loader behavior between the various environments in which Quartz runs (e.g. disparate application servers, stand-alone, mobile devices, etc.). Because of this disparity, Quartz ran into difficulty with a one class-load style fits-all design. Thus, this class loader finds the approach that works, then 'remembers' it.
IClassLoadHelper,
LoadingLoaderClassLoadHelper,
SimpleClassLoadHelper,
ThreadContextClassLoadHelper,
InitThreadContextClassLoadHelper| Constructor and Description |
|---|
CascadingClassLoadHelper() |
| Modifier and Type | Method and Description |
|---|---|
ClassLoader |
getClassLoader()
Enable sharing of the "best" class-loader with 3rd party.
|
URL |
getResource(String name)
Finds a resource with a given name.
|
InputStream |
getResourceAsStream(String name)
Finds a resource with a given name.
|
void |
initialize()
Called to give the ClassLoadHelper a chance to initialize itself, including
the opportunity to "steal" the class loader off of the calling thread,
which is the thread that is initializing Quartz.
|
Class<?> |
loadClass(String sClassName)
Return the class with the given name.
|
<T> Class<? extends T> |
loadClass(String sClassName,
Class<T> dummy)
Return the class of the given type with the given name.
|
public void initialize()
initialize in interface IClassLoadHelper@Nonnull public Class<?> loadClass(String sClassName) throws ClassNotFoundException
loadClass in interface IClassLoadHelpersClassName - the fqcn of the class to load.ClassNotFoundException - if the class can be found in the classpath.@Nonnull public <T> Class<? extends T> loadClass(String sClassName, Class<T> dummy) throws ClassNotFoundException
IClassLoadHelperloadClass in interface IClassLoadHelpersClassName - the fqcn of the class to load.dummy - For casting.ClassNotFoundException - if the class can be found in the classpath.@Nullable public URL getResource(String name)
getResource in interface IClassLoadHelpername - name of the desired resource@Nullable public InputStream getResourceAsStream(String name)
getResourceAsStream in interface IClassLoadHelpername - name of the desired resource@Nonnull public ClassLoader getClassLoader()
getClassLoader in interface IClassLoadHelperCopyright © 2016–2021 Philip Helger. All rights reserved.