|
Apache Tomcat 7.0.4 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.loader.WebappLoader
public class WebappLoader
Classloader implementation which is specialized for handling web applications in the most efficient way, while being Catalina aware (all accesses to resources are made through the DirContext interface). This class loader supports detection of modified Java classes, which can be used to implement auto-reload support.
This class loader is configured by adding the pathnames of directories,
JAR files, and ZIP files with the addRepository() method,
prior to calling start(). When a new class is required,
these repositories will be consulted first to locate the class. If it
is not present, the system class loader will be used instead.
| Field Summary | |
|---|---|
protected static StringManager |
sm
The string manager for this package. |
protected PropertyChangeSupport |
support
The property change support for this component. |
| Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase |
|---|
mserver |
| Fields inherited from interface org.apache.catalina.Lifecycle |
|---|
AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, DESTROY_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT |
| Constructor Summary | |
|---|---|
WebappLoader()
Construct a new WebappLoader with no defined parent class loader (so that the actual parent will be the system class loader). |
|
WebappLoader(ClassLoader parent)
Construct a new WebappLoader with the specified class loader to be defined as the parent of the ClassLoader we ultimately create. |
|
| Method Summary | |
|---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener)
Add a property change listener to this component. |
void |
addRepository(String repository)
Add a new repository to the set of repositories for this class loader. |
void |
backgroundProcess()
Execute a periodic task, such as reloading, etc. |
void |
closeJARs(boolean force)
Used to periodically signal to the classloader to release JAR resources. |
String[] |
findRepositories()
Return the set of repositories defined for this class loader. |
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 |
Container |
getContainer()
Return the Container with which this Logger has been associated. |
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 |
getInfo()
Return descriptive information about this Loader implementation and the corresponding version number, in the format <description>/<version>. |
String |
getLoaderClass()
Return the ClassLoader class name. |
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. |
String[] |
getRepositories()
|
String |
getRepositoriesString()
Extra repositories for this loader |
boolean |
getSearchExternalFirst()
|
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 |
setContainer(Container container)
Set the Container with which this Logger 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. |
void |
setSearchExternalFirst(boolean searchExternalFirst)
|
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. |
| Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase |
|---|
destroyInternal, getDomain, getObjectName, initInternal, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister |
| Methods inherited from class org.apache.catalina.util.LifecycleBase |
|---|
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final StringManager sm
protected PropertyChangeSupport support
| Constructor Detail |
|---|
public WebappLoader()
public WebappLoader(ClassLoader parent)
parent - The parent class loader| Method Detail |
|---|
public ClassLoader getClassLoader()
getClassLoader in interface Loaderpublic Container getContainer()
getContainer in interface Loaderpublic void setContainer(Container container)
setContainer in interface Loadercontainer - The associated Containerpublic boolean getDelegate()
getDelegate in interface Loaderpublic void setDelegate(boolean delegate)
setDelegate in interface Loaderdelegate - The new flagpublic String getInfo()
<description>/<version>.
getInfo in interface Loaderpublic 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 boolean getSearchExternalFirst()
public void setSearchExternalFirst(boolean searchExternalFirst)
searchExternalFirst - Whether external repositories should be searched firstpublic void addPropertyChangeListener(PropertyChangeListener listener)
addPropertyChangeListener in interface Loaderlistener - The listener to addpublic void addRepository(String repository)
addRepository in interface Loaderrepository - Repository to be addedpublic void backgroundProcess()
backgroundProcess in interface Loaderpublic String[] findRepositories()
findRepositories in interface Loaderpublic String[] getRepositories()
public String getRepositoriesString()
public String[] getLoaderRepositories()
public String getLoaderRepositoriesString()
public String getClasspath()
public boolean modified()
modified in interface Loaderpublic void closeJARs(boolean force)
public void removePropertyChangeListener(PropertyChangeListener listener)
removePropertyChangeListener in interface Loaderlistener - The listener to removepublic String toString()
toString in class Object
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 used
protected 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()
LifecycleMBeanBase
getDomainInternal in class LifecycleMBeanBaseprotected String getObjectNameKeyProperties()
LifecycleMBeanBaseObjectName that will be used to register this component.
getObjectNameKeyProperties in class LifecycleMBeanBaseObjectName
|
Apache Tomcat 7.0.4 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||