Package org.apache.catalina.webresources
Class ExtractingRoot
- java.lang.Object
-
- org.apache.catalina.util.LifecycleBase
-
- org.apache.catalina.util.LifecycleMBeanBase
-
- org.apache.catalina.webresources.StandardRoot
-
- org.apache.catalina.webresources.ExtractingRoot
-
- All Implemented Interfaces:
javax.management.MBeanRegistration,JmxEnabled,Lifecycle,WebResourceRoot
public class ExtractingRoot extends StandardRoot
If the main resources are packaged as a WAR file then any JARs will be extracted to the work directory and used from there.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse
-
Nested classes/interfaces inherited from interface org.apache.catalina.WebResourceRoot
WebResourceRoot.ArchiveIndexStrategy, WebResourceRoot.CacheStrategy, WebResourceRoot.ResourceSetType
-
-
Field Summary
-
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 ExtractingRoot()Creates a new ExtractingRoot instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanisPackedWarFile()Returns true if and only if all the resources for this web application are provided via a packed WAR file.protected voidprocessWebInfLib()Class loader resources are handled by treating JARs in WEB-INF/lib as resource JARs (without the internal META-INF/resources/ prefix) mounted at WEB-INF/classes (rather than the web app root).protected voidstopInternal()Subclasses must ensure that the state is changed toLifecycleState.STOPPINGduring the execution of this method.-
Methods inherited from class org.apache.catalina.webresources.StandardRoot
addClassResources, addJarResources, addPostResources, addPreResources, backgroundProcess, createMainResourceSet, createWebResourceSet, createWebResourceSet, deregisterTrackedResource, destroyInternal, gc, getAllowLinking, getArchiveIndexStrategy, getArchiveIndexStrategyEnum, getBaseUrls, getCacheMaxSize, getCacheObjectMaxSize, getCacheStrategy, getCacheTtl, getClassLoaderResource, getClassLoaderResources, getClassResources, getContext, getDomainInternal, getJarResources, getObjectNameKeyProperties, getPostResources, getPreResources, getResource, getResource, getResourceInternal, getResources, getResourcesInternal, getTrackedResources, getTrackLockedFiles, initInternal, isCachingAllowed, isReadOnly, list, listResources, listResources, listWebAppPaths, mkdir, registerTrackedResource, registerURLStreamHandlerFactory, setAllowLinking, setArchiveIndexStrategy, setCacheMaxSize, setCacheObjectMaxSize, setCacheStrategy, setCacheTtl, setCachingAllowed, setContext, setMainResources, setReadOnly, setTrackLockedFiles, startInternal, write
-
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase
getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregister
-
Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.catalina.Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
-
-
-
-
Method Detail
-
processWebInfLib
protected void processWebInfLib() throws LifecycleExceptionDescription copied from class:StandardRootClass loader resources are handled by treating JARs in WEB-INF/lib as resource JARs (without the internal META-INF/resources/ prefix) mounted at WEB-INF/classes (rather than the web app root). This enables reuse of the resource handling plumbing. These resources are marked as class loader only so they are only used in the methods that are explicitly defined to return class loader resources. This prevents calls to getResource("/WEB-INF/classes") returning from one or more of the JAR files.- Overrides:
processWebInfLibin classStandardRoot- Throws:
LifecycleException- If an error occurs that should stop the web application from starting
-
isPackedWarFile
protected boolean isPackedWarFile()
Description copied from class:StandardRootReturns true if and only if all the resources for this web application are provided via a packed WAR file. It is used to optimise cache validation in this case on the basis that the WAR file will not change.- Overrides:
isPackedWarFilein classStandardRoot- Returns:
trueif the application is served from a packed WAR file
-
stopInternal
protected void stopInternal() throws LifecycleExceptionDescription copied from class:LifecycleBaseSubclasses must ensure that the state is changed toLifecycleState.STOPPINGduring the execution of this method. Changing state will trigger theLifecycle.STOP_EVENTevent.- Overrides:
stopInternalin classStandardRoot- Throws:
LifecycleException- Stop error occurred
-
-