public class WebappLoader extends LifecycleMBeanBase implements Loader, PropertyChangeListener
WebResourceRoot).
This class loader supports detection of modified
Java classes, which can be used to implement auto-reload support.
This class loader is configured via the Resources children of its Context
prior to calling start(). When a new class is required,
these Resources will be consulted first to locate the class. If it
is not present, the system class loader will be used instead.
Lifecycle.SingleUse| Modifier and Type | Field and Description |
|---|---|
protected static StringManager |
sm
The string manager for this package.
|
protected PropertyChangeSupport |
support
The property change support for this component.
|
mserverAFTER_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 and Description |
|---|
WebappLoader()
Construct a new WebappLoader.
|
WebappLoader(ClassLoader parent)
Deprecated.
Use
Container.setParentClassLoader(ClassLoader) to
specify the required class loader. This method will be
removed in Tomcat 10 onwards. |
| Modifier and Type | Method and Description |
|---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener)
Add a property change listener to this component.
|
void |
backgroundProcess()
Execute a periodic task, such as reloading, etc.
|
ClassLoader |
getClassLoader()
Return the Java class loader to be used by this Container.
|
String |
getClasspath()
Classpath, as set in org.apache.catalina.jsp_classpath context
property
|
Context |
getContext() |
boolean |
getDelegate()
Return the "follow standard delegation model" flag used to configure
our ClassLoader.
|
protected String |
getDomainInternal()
Method implemented by sub-classes to identify the domain in which MBeans
should be registered.
|
String |
getLoaderClass() |
String[] |
getLoaderRepositories() |
String |
getLoaderRepositoriesString() |
protected String |
getObjectNameKeyProperties()
Allow sub-classes to specify the key properties component of the
ObjectName that will be used to register this component. |
boolean |
getReloadable()
Return the reloadable flag for this Loader.
|
boolean |
modified()
Has the internal repository associated with this Loader been modified,
such that the loaded classes should be reloaded?
|
void |
propertyChange(PropertyChangeEvent event)
Process property change events from our associated Context.
|
void |
removePropertyChangeListener(PropertyChangeListener listener)
Remove a property change listener from this component.
|
void |
setContext(Context context)
Set the Context with which this Loader has been associated.
|
void |
setDelegate(boolean delegate)
Set the "follow standard delegation model" flag used to configure
our ClassLoader.
|
void |
setLoaderClass(String loaderClass)
Set the ClassLoader class name.
|
void |
setReloadable(boolean reloadable)
Set the reloadable flag for this Loader.
|
protected void |
startInternal()
Start associated
ClassLoader and implement the requirements
of LifecycleBase.startInternal(). |
protected void |
stopInternal()
Stop associated
ClassLoader and implement the requirements
of LifecycleBase.stopInternal(). |
String |
toString()
Return a String representation of this component.
|
destroyInternal, getDomain, getObjectName, initInternal, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregisteraddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopprotected static final StringManager sm
protected final PropertyChangeSupport support
public WebappLoader()
Container.getParentClassLoader().@Deprecated public WebappLoader(ClassLoader parent)
Container.setParentClassLoader(ClassLoader) to
specify the required class loader. This method will be
removed in Tomcat 10 onwards.parent - The parent class loaderpublic ClassLoader getClassLoader()
getClassLoader in interface Loaderpublic Context getContext()
getContext in interface Loaderpublic void setContext(Context context)
LoadersetContext in interface Loadercontext - The associated Contextpublic boolean getDelegate()
getDelegate in interface Loaderpublic void setDelegate(boolean delegate)
setDelegate in interface Loaderdelegate - The new flagpublic String getLoaderClass()
public void setLoaderClass(String loaderClass)
loaderClass - The new ClassLoader class namepublic boolean getReloadable()
getReloadable in interface Loaderpublic void setReloadable(boolean reloadable)
setReloadable in interface Loaderreloadable - The new reloadable flagpublic void addPropertyChangeListener(PropertyChangeListener listener)
addPropertyChangeListener in interface Loaderlistener - The listener to addpublic void backgroundProcess()
backgroundProcess in interface Loaderpublic String[] getLoaderRepositories()
public String getLoaderRepositoriesString()
public String getClasspath()
public boolean modified()
public void removePropertyChangeListener(PropertyChangeListener listener)
removePropertyChangeListener in interface Loaderlistener - The listener to removepublic String toString()
protected void startInternal()
throws LifecycleException
ClassLoader and implement the requirements
of LifecycleBase.startInternal().startInternal in class LifecycleBaseLifecycleException - if this component detects a fatal error
that prevents this component from being usedprotected void stopInternal()
throws LifecycleException
ClassLoader and implement the requirements
of LifecycleBase.stopInternal().stopInternal in class LifecycleBaseLifecycleException - if this component detects a fatal error
that prevents this component from being usedpublic void propertyChange(PropertyChangeEvent event)
propertyChange in interface PropertyChangeListenerevent - The property change event that has occurredprotected String getDomainInternal()
LifecycleMBeanBasegetDomainInternal in class LifecycleMBeanBaseprotected String getObjectNameKeyProperties()
LifecycleMBeanBaseObjectName that will be used to register this component.getObjectNameKeyProperties in class LifecycleMBeanBaseObjectNameCopyright © 2000-2020 Apache Software Foundation. All Rights Reserved.