Package org.apache.catalina.core
Class StandardEngine
- java.lang.Object
- 
- org.apache.catalina.util.LifecycleBase
- 
- org.apache.catalina.util.LifecycleMBeanBase
- 
- org.apache.catalina.core.ContainerBase
- 
- org.apache.catalina.core.StandardEngine
 
 
 
 
- 
- All Implemented Interfaces:
- javax.management.MBeanRegistration,- Container,- Engine,- JmxEnabled,- Lifecycle
 
 public class StandardEngine extends ContainerBase implements Engine Standard implementation of the Engine interface. Each child container must be a Host implementation to process the specific fully qualified host name of that virtual host.
 You can set the jvmRoute direct or with the System.property jvmRoute.- Author:
- Craig R. McClanahan
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected static classStandardEngine.AccessLogListenerprotected static classStandardEngine.NoopAccessLog- 
Nested classes/interfaces inherited from class org.apache.catalina.core.ContainerBaseContainerBase.ContainerBackgroundProcessor, ContainerBase.PrivilegedAddChild
 - 
Nested classes/interfaces inherited from interface org.apache.catalina.LifecycleLifecycle.SingleUse
 
- 
 - 
Field Summary- 
Fields inherited from class org.apache.catalina.core.ContainerBaseaccessLog, backgroundProcessorDelay, children, cluster, listeners, logger, logName, name, parent, parentClassLoader, pipeline, sm, startChildren, startStopExecutor, support
 - 
Fields inherited from class org.apache.catalina.util.LifecycleMBeanBasemserver
 - 
Fields inherited from interface org.apache.catalina.ContainerADD_CHILD_EVENT, ADD_VALVE_EVENT, REMOVE_CHILD_EVENT, REMOVE_VALVE_EVENT
 - 
Fields inherited from interface org.apache.catalina.LifecycleAFTER_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 SummaryConstructors Constructor Description StandardEngine()Create a new StandardEngine component with the default basic Valve.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChild(Container child)Add a child Container, only if the proposed child is an implementation of Host.java.io.FilegetCatalinaBase()Obtain the location of CATALINA_BASE.java.io.FilegetCatalinaHome()Obtain the location of CATALINA_HOME.java.lang.StringgetDefaultHost()Return the default host.protected java.lang.StringgetDomainInternal()Method implemented by sub-classes to identify the domain in which MBeans should be registered.java.lang.StringgetJvmRoute()Retrieve the cluster-wide unique identifier for this Engine.protected java.lang.StringgetObjectNameKeyProperties()Allow sub-classes to specify the key properties component of theObjectNamethat will be used to register this component.java.lang.ClassLoadergetParentClassLoader()Return the parent class loader for this component.RealmgetRealm()Obtain the configured Realm and provide a default Realm implementation when no explicit configuration is set.ServicegetService()Return theServicewith which we are associated (if any).protected voidinitInternal()Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.voidlogAccess(Request request, Response response, long time, boolean useDefault)Override the default implementation.voidsetDefaultHost(java.lang.String host)Set the default host.voidsetJvmRoute(java.lang.String routeId)Set the cluster-wide unique identifier for this Engine.voidsetParent(Container container)Disallow any attempt to set a parent for this Container, since an Engine is supposed to be at the top of the Container hierarchy.voidsetService(Service service)Set theServicewith which we are associated (if any).protected voidstartInternal()Start this component and implement the requirements ofLifecycleBase.startInternal().- 
Methods inherited from class org.apache.catalina.core.ContainerBaseaddContainerListener, addPropertyChangeListener, addValve, backgroundProcess, destroyInternal, findChild, findChildren, findContainerListeners, fireContainerEvent, getAccessLog, getBackgroundProcessorDelay, getChildren, getCluster, getClusterInternal, getLogger, getLogName, getMBeanKeyProperties, getName, getParent, getPipeline, getRealmInternal, getStartChildren, getStartStopThreads, removeChild, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCluster, setName, setParentClassLoader, setRealm, setStartChildren, setStartStopThreads, stopInternal, threadStart, threadStop, toString
 - 
Methods inherited from class org.apache.catalina.util.LifecycleMBeanBasegetDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister
 - 
Methods inherited from class org.apache.catalina.util.LifecycleBaseaddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 - 
Methods inherited from interface org.apache.catalina.ContaineraddContainerListener, addPropertyChangeListener, backgroundProcess, findChild, findChildren, findContainerListeners, fireContainerEvent, getAccessLog, getBackgroundProcessorDelay, getCluster, getDomain, getLogger, getLogName, getMBeanKeyProperties, getName, getObjectName, getParent, getPipeline, getStartStopThreads, removeChild, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCluster, setName, setParentClassLoader, setRealm, setStartStopThreads
 - 
Methods inherited from interface org.apache.catalina.LifecycleaddLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
 
- 
 
- 
- 
- 
Method Detail- 
getRealmpublic Realm getRealm() Obtain the configured Realm and provide a default Realm implementation when no explicit configuration is set.- Specified by:
- getRealmin interface- Container
- Overrides:
- getRealmin class- ContainerBase
- Returns:
- configured realm, or a NullRealmby default
 
 - 
getDefaultHostpublic java.lang.String getDefaultHost() Return the default host.- Specified by:
- getDefaultHostin interface- Engine
- Returns:
- the default host name for this Engine.
 
 - 
setDefaultHostpublic void setDefaultHost(java.lang.String host) Set the default host.- Specified by:
- setDefaultHostin interface- Engine
- Parameters:
- host- The new default host
 
 - 
setJvmRoutepublic void setJvmRoute(java.lang.String routeId) Set the cluster-wide unique identifier for this Engine. This value is only useful in a load-balancing scenario.This property should not be changed once it is set. - Specified by:
- setJvmRoutein interface- Engine
- Parameters:
- routeId- the (new) JVM Route ID. Each Engine within a cluster must have a unique JVM Route ID.
 
 - 
getJvmRoutepublic java.lang.String getJvmRoute() Retrieve the cluster-wide unique identifier for this Engine. This value is only useful in a load-balancing scenario.- Specified by:
- getJvmRoutein interface- Engine
- Returns:
- the JvmRouteId for this engine.
 
 - 
getServicepublic Service getService() Return theServicewith which we are associated (if any).- Specified by:
- getServicein interface- Engine
- Returns:
- the Servicewith which we are associated (if any).
 
 - 
setServicepublic void setService(Service service) Set theServicewith which we are associated (if any).- Specified by:
- setServicein interface- Engine
- Parameters:
- service- The service that owns this Engine
 
 - 
addChildpublic void addChild(Container child) Add a child Container, only if the proposed child is an implementation of Host.- Specified by:
- addChildin interface- Container
- Overrides:
- addChildin class- ContainerBase
- Parameters:
- child- Child container to be added
 
 - 
setParentpublic void setParent(Container container) Disallow any attempt to set a parent for this Container, since an Engine is supposed to be at the top of the Container hierarchy.- Specified by:
- setParentin interface- Container
- Overrides:
- setParentin class- ContainerBase
- Parameters:
- container- Proposed parent Container
 
 - 
initInternalprotected void initInternal() throws LifecycleExceptionDescription copied from class:LifecycleMBeanBaseSub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.- Overrides:
- initInternalin class- ContainerBase
- Throws:
- LifecycleException- If the initialisation fails
 
 - 
startInternalprotected void startInternal() throws LifecycleExceptionStart this component and implement the requirements ofLifecycleBase.startInternal().- Overrides:
- startInternalin class- ContainerBase
- Throws:
- LifecycleException- if this component detects a fatal error that prevents this component from being used
 
 - 
logAccesspublic void logAccess(Request request, Response response, long time, boolean useDefault) Override the default implementation. If no access log is defined for the Engine, look for one in the Engine's default host and then the default host's ROOT context. If still none is found, return the default NoOp access log.- Specified by:
- logAccessin interface- Container
- Overrides:
- logAccessin class- ContainerBase
- Parameters:
- request- Request (associated with the response) to log
- response- Response (associated with the request) to log
- time- Time taken to process the request/response in milliseconds (use 0 if not known)
- useDefault- Flag that indicates that the request/response should be logged in the engine's default access log
 
 - 
getParentClassLoaderpublic java.lang.ClassLoader getParentClassLoader() Return the parent class loader for this component.- Specified by:
- getParentClassLoaderin interface- Container
- Overrides:
- getParentClassLoaderin class- ContainerBase
- Returns:
- the parent class loader for this component. If not set, return
         Container.getParent().Container.getParentClassLoader(). If no parent has been set, return the system class loader.
 
 - 
getCatalinaBasepublic java.io.File getCatalinaBase() Description copied from interface:ContainerObtain the location of CATALINA_BASE.- Specified by:
- getCatalinaBasein interface- Container
- Overrides:
- getCatalinaBasein class- ContainerBase
- Returns:
- The location of CATALINA_BASE.
 
 - 
getCatalinaHomepublic java.io.File getCatalinaHome() Description copied from interface:ContainerObtain the location of CATALINA_HOME.- Specified by:
- getCatalinaHomein interface- Container
- Overrides:
- getCatalinaHomein class- ContainerBase
- Returns:
- The location of CATALINA_HOME.
 
 - 
getObjectNameKeyPropertiesprotected java.lang.String getObjectNameKeyProperties() Description copied from class:LifecycleMBeanBaseAllow sub-classes to specify the key properties component of theObjectNamethat will be used to register this component.- Specified by:
- getObjectNameKeyPropertiesin class- LifecycleMBeanBase
- Returns:
- The string representation of the key properties component of the
          desired ObjectName
 
 - 
getDomainInternalprotected java.lang.String getDomainInternal() Description copied from class:LifecycleMBeanBaseMethod implemented by sub-classes to identify the domain in which MBeans should be registered.- Overrides:
- getDomainInternalin class- ContainerBase
- Returns:
- The name of the domain to use to register MBeans.
 
 
- 
 
-