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:
MBeanRegistration,Container,Engine,JmxEnabled,Lifecycle
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.
- Author:
- Craig R. McClanahan
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final classprotected static final classNested classes/interfaces inherited from class org.apache.catalina.core.ContainerBase
ContainerBase.ContainerBackgroundProcessor, ContainerBase.ContainerBackgroundProcessorMonitor, ContainerBase.PrivilegedAddChildNested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
Fields inherited from class org.apache.catalina.core.ContainerBase
accessLog, backgroundProcessorDelay, backgroundProcessorFuture, children, cluster, listeners, logger, logName, monitorFuture, name, parent, parentClassLoader, pipeline, sm, startChildren, startStopExecutor, supportFields inherited from interface org.apache.catalina.Container
ADD_CHILD_EVENT, ADD_VALVE_EVENT, REMOVE_CHILD_EVENT, REMOVE_VALVE_EVENTFields 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
ConstructorsConstructorDescriptionCreate a new StandardEngine component with the default basic Valve. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a child Container, only if the proposed child is an implementation of Host.Obtain the location of CATALINA_BASE.Obtain the location of CATALINA_HOME.Return the default host.protected StringMethod implemented by sub-classes to identify the domain in which MBeans should be registered.Retrieve the cluster-wide unique identifier for this Engine.protected StringAllow sub-classes to specify the key properties component of theObjectNamethat will be used to register this component.Return the parent class loader for this component.getRealm()Obtain the configured Realm and provide a default Realm implementation when no explicit configuration is set.Return theServicewith which we are associated (if any).protected voidSub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.voidOverride the default implementation.voidsetDefaultHost(String host) Set the default host.voidsetJvmRoute(String routeId) Set the cluster-wide unique identifier for this Engine.voidDisallow 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 voidStart this component and implement the requirements ofLifecycleBase.startInternal().Methods inherited from class org.apache.catalina.core.ContainerBase
addContainerListener, 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, toStringMethods inherited from class org.apache.catalina.util.LifecycleMBeanBase
getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.catalina.Container
addContainerListener, 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, setStartStopThreadsMethods inherited from interface org.apache.catalina.Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
-
Constructor Details
-
StandardEngine
public StandardEngine()Create a new StandardEngine component with the default basic Valve.
-
-
Method Details
-
getRealm
Obtain the configured Realm and provide a default Realm implementation when no explicit configuration is set.- Specified by:
getRealmin interfaceContainer- Overrides:
getRealmin classContainerBase- Returns:
- configured realm, or a
NullRealmby default
-
getDefaultHost
Return the default host.- Specified by:
getDefaultHostin interfaceEngine- Returns:
- the default host name for this Engine.
-
setDefaultHost
Set the default host.- Specified by:
setDefaultHostin interfaceEngine- Parameters:
host- The new default host
-
setJvmRoute
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 interfaceEngine- Parameters:
routeId- the (new) JVM Route ID. Each Engine within a cluster must have a unique JVM Route ID.
-
getJvmRoute
Retrieve the cluster-wide unique identifier for this Engine. This value is only useful in a load-balancing scenario.- Specified by:
getJvmRoutein interfaceEngine- Returns:
- the JvmRouteId for this engine.
-
getService
Return theServicewith which we are associated (if any).- Specified by:
getServicein interfaceEngine- Returns:
- the
Servicewith which we are associated (if any).
-
setService
Set theServicewith which we are associated (if any).- Specified by:
setServicein interfaceEngine- Parameters:
service- The service that owns this Engine
-
addChild
Add a child Container, only if the proposed child is an implementation of Host.- Specified by:
addChildin interfaceContainer- Overrides:
addChildin classContainerBase- Parameters:
child- Child container to be added
-
setParent
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 interfaceContainer- Overrides:
setParentin classContainerBase- Parameters:
container- Proposed parent Container
-
initInternal
Description 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 classLifecycleMBeanBase- Throws:
LifecycleException- If the initialisation fails
-
startInternal
Start this component and implement the requirements ofLifecycleBase.startInternal().- Overrides:
startInternalin classContainerBase- Throws:
LifecycleException- if this component detects a fatal error that prevents this component from being used
-
logAccess
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 interfaceContainer- Overrides:
logAccessin classContainerBase- Parameters:
request- Request (associated with the response) to logresponse- Response (associated with the request) to logtime- 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
-
getParentClassLoader
Return the parent class loader for this component.- Specified by:
getParentClassLoaderin interfaceContainer- Overrides:
getParentClassLoaderin classContainerBase- 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.
-
getCatalinaBase
Description copied from interface:ContainerObtain the location of CATALINA_BASE.- Specified by:
getCatalinaBasein interfaceContainer- Overrides:
getCatalinaBasein classContainerBase- Returns:
- The location of CATALINA_BASE.
-
getCatalinaHome
Description copied from interface:ContainerObtain the location of CATALINA_HOME.- Specified by:
getCatalinaHomein interfaceContainer- Overrides:
getCatalinaHomein classContainerBase- Returns:
- The location of CATALINA_HOME.
-
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 classLifecycleMBeanBase- Returns:
- The string representation of the key properties component of the
desired
ObjectName
-
getDomainInternal
Description copied from class:LifecycleMBeanBaseMethod implemented by sub-classes to identify the domain in which MBeans should be registered.- Overrides:
getDomainInternalin classContainerBase- Returns:
- The name of the domain to use to register MBeans.
-