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 class org.apache.catalina.util.LifecycleMBeanBase
mserver
-
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()Always returns false because ExtractingRoot extracts JARs to the work directory, making the deployment behave as if it were exploded.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()
Always returns false because ExtractingRoot extracts JARs to the work directory, making the deployment behave as if it were exploded. Callers that check isPackedWarFile() should treat this as an exploded deployment.- 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
-
-