Package org.nuxeo.runtime.tomcat.dev
Class NuxeoDevWebappClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.apache.catalina.loader.WebappClassLoaderBase
org.apache.catalina.loader.WebappClassLoader
org.nuxeo.runtime.tomcat.NuxeoWebappClassLoader
org.nuxeo.runtime.tomcat.dev.NuxeoDevWebappClassLoader
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.catalina.Lifecycle,org.apache.juli.WebappProperties,org.apache.tomcat.InstrumentableClassLoader,org.apache.tomcat.util.security.PermissionCheck,DevMutableClassLoader,MutableClassLoader,WebResourcesCacheFlusher
public class NuxeoDevWebappClassLoader
extends NuxeoWebappClassLoader
implements DevMutableClassLoader, WebResourcesCacheFlusher
- Author:
- Bogdan Stefanescu
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classNested 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
FieldsModifier and TypeFieldDescriptionprotected LocalClassLoader[]protected DevFrameworkBootstrapprotected List<LocalClassLoader>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 TypeMethodDescriptionvoidaddChildren(LocalClassLoader loader) voidaddClassLoader(URL... urls) Adds a new class loader to this one containing the reference to input urls.voidvoidclear()voidClears the stack containing the previous class loader injected during hot reload.createLocalClassLoader(URL... urls) voidgetResource(String name) getResourceAsStream(String name) getResources(String name) Class<?>Do not synchronize this method at method level to avoid deadlocks.voidsetBootstrap(DevFrameworkBootstrap bootstrap) Methods inherited from class org.apache.catalina.loader.WebappClassLoader
copyWithoutTransformers, getClassLoadingLockMethods inherited from class org.apache.catalina.loader.WebappClassLoaderBase
addLifecycleListener, addTransformer, 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, getNotFoundClassResourceCacheSize, getPermissions, getResources, getServiceName, getSkipMemoryLeakChecksOnJvmShutdown, getState, getStateName, getURLs, getWebappName, hasLoggingConfig, init, isPackageSealed, loadClass, modified, refreshPolicy, removeLifecycleListener, removeTransformer, setClearReferencesHttpClientKeepAliveThread, setClearReferencesLogFactoryRelease, setClearReferencesObjectStreamClassCaches, setClearReferencesRmiTargets, setClearReferencesStopThreads, setClearReferencesStopTimerThreads, setClearReferencesThreadLocals, setDelegate, setJavaseClassLoader, setNotFoundClassResourceCacheSize, 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, setSignersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.nuxeo.osgi.application.MutableClassLoader
loadClass
-
Field Details
-
bootstrap
-
children
-
_children
-
-
Constructor Details
-
NuxeoDevWebappClassLoader
public NuxeoDevWebappClassLoader() -
NuxeoDevWebappClassLoader
-
-
Method Details
-
clearPreviousClassLoader
public void clearPreviousClassLoader()Description copied from interface:DevMutableClassLoaderClears the stack containing the previous class loader injected during hot reload.- Specified by:
clearPreviousClassLoaderin interfaceDevMutableClassLoader- Since:
- 9.3
-
addClassLoader
Description copied from interface:DevMutableClassLoaderAdds a new class loader to this one containing the reference to input urls.- Specified by:
addClassLoaderin interfaceDevMutableClassLoader- Since:
- 9.3
-
createLocalClassLoader
-
setBootstrap
-
getBootstrap
-
addChildren
-
clear
public void clear() -
flushWebResources
public void flushWebResources()- Specified by:
flushWebResourcesin interfaceWebResourcesCacheFlusher
-
getChildren
-
loadClass
Do not synchronize this method at method level to avoid deadlocks.- Overrides:
loadClassin classorg.apache.catalina.loader.WebappClassLoaderBase- Throws:
ClassNotFoundException
-
getResource
- Overrides:
getResourcein classorg.apache.catalina.loader.WebappClassLoaderBase
-
getResourceAsStream
- Overrides:
getResourceAsStreamin classorg.apache.catalina.loader.WebappClassLoaderBase
-
getResources
- Overrides:
getResourcesin classorg.apache.catalina.loader.WebappClassLoaderBase- Throws:
IOException
-
addURL
- Specified by:
addURLin interfaceMutableClassLoader- Overrides:
addURLin classNuxeoWebappClassLoader
-
getParentClassLoader
- Overrides:
getParentClassLoaderin classNuxeoWebappClassLoader
-
getClassLoader
- Specified by:
getClassLoaderin interfaceMutableClassLoader- Overrides:
getClassLoaderin classNuxeoWebappClassLoader
-