public class CascadingClassLoadHelper extends java.lang.Object implements ClassLoadHelper
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.
ClassLoadHelper
,
LoadingLoaderClassLoadHelper
,
SimpleClassLoadHelper
,
ThreadContextClassLoadHelper
,
InitThreadContextClassLoadHelper
Constructor and Description |
---|
CascadingClassLoadHelper() |
Modifier and Type | Method and Description |
---|---|
java.lang.ClassLoader |
getClassLoader()
Enable sharing of the class-loader with 3rd party (e.g. digester).
|
java.net.URL |
getResource(java.lang.String name)
Finds a resource with a given name.
|
java.io.InputStream |
getResourceAsStream(java.lang.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.
|
java.lang.Class |
loadClass(java.lang.String name)
Return the class with the given name.
|
public void initialize()
initialize
in interface ClassLoadHelper
public java.lang.Class loadClass(java.lang.String name) throws java.lang.ClassNotFoundException
loadClass
in interface ClassLoadHelper
name
- the fqcn of the class to load.java.lang.ClassNotFoundException
- if the class can be found in the classpath.public java.net.URL getResource(java.lang.String name)
getResource
in interface ClassLoadHelper
name
- name of the desired resourcepublic java.io.InputStream getResourceAsStream(java.lang.String name)
getResourceAsStream
in interface ClassLoadHelper
name
- name of the desired resourcepublic java.lang.ClassLoader getClassLoader()
getClassLoader
in interface ClassLoadHelper