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.web.embedded.tomcat.TomcatEmbeddedWebappClassLoader
- 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 TomcatEmbeddedWebappClassLoader extends org.apache.catalina.loader.ParallelWebappClassLoader
Extension of Tomcat'sParallelWebappClassLoader
that does not consider thesystem classloader
. This is required to ensure that any custom context class loader is always used (as is the case with some executable archives).- Since:
- 2.0.0
Field Summary
Fields inherited from class org.apache.catalina.loader.WebappClassLoaderBase
delegate, loaderPC, parent, permissionList, resourceEntries, resources, securityManager, sm
Fields 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 Constructor Description TomcatEmbeddedWebappClassLoader()
TomcatEmbeddedWebappClassLoader(ClassLoader parent)
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addURL(URL url)
URL
findResource(String name)
Enumeration<URL>
findResources(String name)
Class<?>
loadClass(String name, boolean resolve)
Methods inherited from class org.apache.catalina.loader.ParallelWebappClassLoader
copyWithoutTransformers
Methods inherited from class org.apache.catalina.loader.WebappClassLoaderBase
addLifecycleListener, addTransformer, check, checkStateForClassLoading, checkStateForResourceLoading, clearReferences, copyStateWithoutTransformers, destroy, doDefineClass, filter, findClass, findClassInternal, findLifecycleListeners, findLoadedClass0, getClearReferencesHttpClientKeepAliveThread, getClearReferencesLogFactoryRelease, getClearReferencesObjectStreamClassCaches, getClearReferencesRmiTargets, getClearReferencesStopThreads, getClearReferencesStopTimerThreads, getContextName, getDelegate, getHostName, getJavaseClassLoader, getPermissions, getResource, getResourceAsStream, getResources, getResources, getServiceName, getSkipMemoryLeakChecksOnJvmShutdown, getState, getStateName, getURLs, getWebappName, hasLoggingConfig, init, isPackageSealed, loadClass, modified, refreshPolicy, removeLifecycleListener, removeTransformer, setClearReferencesHttpClientKeepAliveThread, setClearReferencesLogFactoryRelease, setClearReferencesObjectStreamClassCaches, setClearReferencesRmiTargets, setClearReferencesStopThreads, setClearReferencesStopTimerThreads, setDelegate, setJavaseClassLoader, setResources, setSkipMemoryLeakChecksOnJvmShutdown, start, stop, toString
Methods inherited from class java.net.URLClassLoader
close, definePackage, newInstance, newInstance
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
Methods inherited from class java.lang.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 Detail
TomcatEmbeddedWebappClassLoader
public TomcatEmbeddedWebappClassLoader()
TomcatEmbeddedWebappClassLoader
public TomcatEmbeddedWebappClassLoader(ClassLoader parent)
Method Detail
findResource
public URL findResource(String name)
- Overrides:
findResource
in classorg.apache.catalina.loader.WebappClassLoaderBase
findResources
public Enumeration<URL> findResources(String name) throws IOException
- Overrides:
findResources
in classorg.apache.catalina.loader.WebappClassLoaderBase
- Throws:
IOException
loadClass
public Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
- Overrides:
loadClass
in classorg.apache.catalina.loader.WebappClassLoaderBase
- Throws:
ClassNotFoundException