Class TomcatEmbeddedWebappClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.apache.catalina.loader.WebappClassLoaderBase
org.apache.catalina.loader.ParallelWebappClassLoader
org.springframework.boot.tomcat.TomcatEmbeddedWebappClassLoader
- All Implemented Interfaces:
Closeable, AutoCloseable, Lifecycle, WebappProperties, InstrumentableClassLoader
Extension of Tomcat's
ParallelWebappClassLoader that does not consider the
system classloader. This is required to
ensure that any custom context class loader is always used (as is the case with some
executable archives).- Since:
- 4.0.0
- Author:
- Phillip Webb, Andy Clement
-
Nested Class Summary
Nested classes/interfaces inherited from class WebappClassLoaderBase
WebappClassLoaderBase.PrivilegedFindClassByName, WebappClassLoaderBase.PrivilegedGetClassLoader, WebappClassLoaderBase.PrivilegedJavaseGetResourceNested classes/interfaces inherited from interface Lifecycle
Lifecycle.SingleUse -
Field Summary
Fields inherited from class WebappClassLoaderBase
delegate, loaderPC, parent, permissionList, resourceEntries, resources, smFields inherited from interface 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 void@Nullable URLfindResource(String name) findResources(String name) Class<?> Methods inherited from class ParallelWebappClassLoader
copyWithoutTransformersMethods inherited from class WebappClassLoaderBase
addLifecycleListener, addTransformer, checkStateForClassLoading, checkStateForResourceLoading, clearReferences, copyStateWithoutTransformers, destroy, doDefineClass, filter, findClass, findClassInternal, findLifecycleListeners, findLoadedClass0, getClearReferencesHttpClientKeepAliveThread, getClearReferencesLogFactoryRelease, getClearReferencesRmiTargets, getClearReferencesStopThreads, getClearReferencesStopTimerThreads, getClearReferencesThreadLocals, getContextName, getDelegate, getHostName, getJavaseClassLoader, getNotFoundClassResourceCacheSize, getPermissions, getResource, getResourceAsStream, getResources, getServiceName, getSkipMemoryLeakChecksOnJvmShutdown, getState, getStateName, getURLs, getWebappName, hasLoggingConfig, init, isPackageSealed, loadClass, modified, removeLifecycleListener, removeTransformer, setClearReferencesHttpClientKeepAliveThread, setClearReferencesLogFactoryRelease, setClearReferencesRmiTargets, setClearReferencesStopThreads, setClearReferencesStopTimerThreads, setClearReferencesThreadLocals, setDelegate, setJavaseClassLoader, setNotFoundClassResourceCacheSize, setResources, setSkipMemoryLeakChecksOnJvmShutdown, start, stop, toStringMethods inherited from class URLClassLoader
close, definePackage, newInstance, newInstanceMethods inherited from class SecureClassLoader
defineClass, defineClassMethods inherited from class ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
TomcatEmbeddedWebappClassLoader
public TomcatEmbeddedWebappClassLoader() -
TomcatEmbeddedWebappClassLoader
-
-
Method Details
-
findResource
- Overrides:
findResourcein classWebappClassLoaderBase
-
findResources
- Overrides:
findResourcesin classWebappClassLoaderBase- Throws:
IOException
-
loadClass
- Overrides:
loadClassin classWebappClassLoaderBase- Throws:
ClassNotFoundException
-
addURL
- Overrides:
addURLin classWebappClassLoaderBase
-