java.lang.Object | |
↳ | com.atlassian.core.util.ClassLoaderUtils |
This class is extremely useful for loading resources and classes in a fault tolerant manner that works across different applications servers.
It has come out of many months of frustrating use of multiple application servers at Atlassian, please don't change things unless you're sure they're not going to break in one server or another!
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
getBundle() version of getResource() (that checks against the same list of class loaders)
| |||||||||||
Load a given resource.
| |||||||||||
This is a convenience method to load a resource as a stream.
| |||||||||||
returns all found resources as java.net.URLs.
| |||||||||||
Load a class with a given name.
| |||||||||||
Load a class with a given name.
| |||||||||||
Prints the classloader hierarchy from a given classloader - useful for debugging.
| |||||||||||
Prints the current classloader hierarchy - useful for debugging.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
getBundle() version of getResource() (that checks against the same list of class loaders)
Load a given resource.
This method will try to load the resource using the following methods (in order):
resourceName | The name of the resource to load |
---|---|
callingClass | The Class object of the calling object |
This is a convenience method to load a resource as a stream. The algorithm used to find the resource is given in getResource()
resourceName | The name of the resource to load |
---|---|
callingClass | The Class object of the calling object |
returns all found resources as java.net.URLs.
This method will try to load the resource using the following methods (in order):
resourceName | The name of the resource to load |
---|---|
callingClass | The Class object of the calling object |
IOException |
---|
Load a class with a given name.
It will try to load the class in the following order:
Thread.currentThread().getContextClassLoader()
forName(java.lang.String)
ClassLoaderUtil.class.getClassLoader()
callingClass.getClassLoader()
className | The name of the class to load |
---|---|
callingClassLoader | The ClassLoader the calling object which will be used to look up className |
ClassNotFoundException | If the class cannot be found anywhere. |
---|
Load a class with a given name.
It will try to load the class in the following order:
Thread.currentThread().getContextClassLoader()
forName(java.lang.String)
ClassLoaderUtil.class.getClassLoader()
callingClass.getClassLoader()
className | The name of the class to load |
---|---|
callingClass | The Class object of the calling object |
ClassNotFoundException | If the class cannot be found anywhere. |
---|
Prints the classloader hierarchy from a given classloader - useful for debugging.
Prints the current classloader hierarchy - useful for debugging.