public class CascadingClassLoadHelper extends 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 |
---|---|
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 name)
Return the class with the given name.
|
<T> Class<? extends T> |
loadClass(String name,
Class<T> clazz)
Return the class of the given type with the given name.
|
public void initialize()
initialize
in interface ClassLoadHelper
public Class<?> loadClass(String name) throws ClassNotFoundException
loadClass
in interface ClassLoadHelper
name
- the fqcn of the class to load.ClassNotFoundException
- if the class can be found in the classpath.public <T> Class<? extends T> loadClass(String name, Class<T> clazz) throws ClassNotFoundException
ClassLoadHelper
loadClass
in interface ClassLoadHelper
name
- the fqcn of the class to load.ClassNotFoundException
- if the class can be found in the classpath.public URL getResource(String name)
getResource
in interface ClassLoadHelper
name
- name of the desired resourcepublic InputStream getResourceAsStream(String name)
getResourceAsStream
in interface ClassLoadHelper
name
- name of the desired resourcepublic ClassLoader getClassLoader()
getClassLoader
in interface ClassLoadHelper
Copyright 2001-2019, Terracotta, Inc.