Class CarbonWebappClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.apache.catalina.loader.WebappClassLoaderBase
org.apache.catalina.loader.WebappClassLoader
org.wso2.carbon.webapp.mgt.loader.CarbonWebappClassLoader
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.catalina.Lifecycle,org.apache.juli.WebappProperties,org.apache.tomcat.InstrumentableClassLoader,org.apache.tomcat.util.security.PermissionCheck
public class CarbonWebappClassLoader
extends org.apache.catalina.loader.WebappClassLoader
Customized WebappClassloader for Carbon. This class introduces a new classloading pattern which is based on the
webapp-classloading.xml file. The default behaviour is specified in the container level configuration file.
But webapps has the ability to override that behaviour by adding the customised webapp-classloading.xml file into the
webapp.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.catalina.loader.WebappClassLoaderBase
org.apache.catalina.loader.WebappClassLoaderBase.PrivilegedFindClassByName, org.apache.catalina.loader.WebappClassLoaderBase.PrivilegedGetClassLoader, org.apache.catalina.loader.WebappClassLoaderBase.PrivilegedJavaseGetResourceNested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
org.apache.catalina.Lifecycle.SingleUse -
Field Summary
Fields inherited from class org.apache.catalina.loader.WebappClassLoaderBase
delegate, loaderPC, parent, permissionList, resourceEntries, resources, securityManager, smFields inherited from interface org.apache.catalina.Lifecycle
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Class<?> findClassFromParent(String name, boolean resolve) protected Class<?> findLocalClass(String name, boolean resolve) getResourceAsStream(String name) getResources(String name) Class<?> voidsetWebappCC(WebappClassloadingContext classloadingContext) Methods inherited from class org.apache.catalina.loader.WebappClassLoader
copyWithoutTransformers, getClassLoadingLockMethods inherited from class org.apache.catalina.loader.WebappClassLoaderBase
addLifecycleListener, addTransformer, addURL, check, checkStateForClassLoading, checkStateForResourceLoading, clearReferences, copyStateWithoutTransformers, destroy, doDefineClass, filter, findClass, findClassInternal, findLifecycleListeners, findLoadedClass0, findResource, findResources, getClearReferencesHttpClientKeepAliveThread, getClearReferencesLogFactoryRelease, getClearReferencesObjectStreamClassCaches, getClearReferencesRmiTargets, getClearReferencesStopThreads, getClearReferencesStopTimerThreads, getClearReferencesThreadLocals, getContextName, getDelegate, getHostName, getJavaseClassLoader, getPermissions, getResource, getResources, getServiceName, getSkipMemoryLeakChecksOnJvmShutdown, getState, getStateName, getURLs, getWebappName, hasLoggingConfig, init, isPackageSealed, loadClass, modified, refreshPolicy, removeLifecycleListener, removeTransformer, setClearReferencesHttpClientKeepAliveThread, setClearReferencesLogFactoryRelease, setClearReferencesObjectStreamClassCaches, setClearReferencesRmiTargets, setClearReferencesStopThreads, setClearReferencesStopTimerThreads, setClearReferencesThreadLocals, setDelegate, setJavaseClassLoader, setResources, setSkipMemoryLeakChecksOnJvmShutdown, start, stop, toStringMethods inherited from class java.net.URLClassLoader
close, definePackage, newInstance, newInstanceMethods inherited from class java.security.SecureClassLoader
defineClass, defineClassMethods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
CarbonWebappClassLoader
-
-
Method Details
-
setWebappCC
-
loadClass
- Overrides:
loadClassin classorg.apache.catalina.loader.WebappClassLoaderBase- Throws:
ClassNotFoundException
-
findClassFromParent
- Throws:
ClassNotFoundException
-
findLocalClass
- Throws:
ClassNotFoundException
-
getResourceAsStream
- Overrides:
getResourceAsStreamin classorg.apache.catalina.loader.WebappClassLoaderBase
-
getResources
- Overrides:
getResourcesin classorg.apache.catalina.loader.WebappClassLoaderBase- Throws:
IOException
-