Package org.apache.catalina.core
Class StandardService
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.core.StandardService
- All Implemented Interfaces:
MBeanRegistration,JmxEnabled,Lifecycle,Service
Standard implementation of the
Service interface. The associated Container is generally an instance of
Engine, but this is not required.- Author:
- Craig R. McClanahan
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Connector[]The set of Connectors associated with this Service.The list of executors held by the service.protected final MapperMapper.protected final MapperListenerMapper listener.protected final PropertyChangeSupportThe property change support for this component.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 -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConnector(Connector connector) Add a new Connector to the set of defined Connectors, and associate it with this Service's Container.voidaddExecutor(Executor ex) Adds a named executor to the servicevoidAdd a property change listener to this component.protected voidSub-classes wishing to perform additional clean-up should override this method, ensuring that super.destroyInternal() is the last call in the overriding method.Find and return the set of Connectors associated with this Service.Executor[]Retrieves all executorsprotected StringMethod implemented by sub-classes to identify the domain in which MBeans should be registered.getExecutor(String executorName) Retrieves executor by name, null if not foundlonggetName()Return the name of this Service.final 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.Return theServerwith which we are associated (if any).protected voidInvoke a pre-startup initialization.voidremoveConnector(Connector connector) Remove the specified Connector from the set associated from this Service.voidRemoves an executor from the servicevoidRemove a property change listener from this component.voidsetContainer(Engine engine) Set theEnginethat handles requests for allConnectorsassociated with this Service.voidsetGracefulStopAwaitMillis(long gracefulStopAwaitMillis) voidSet the name of this Service.voidsetParentClassLoader(ClassLoader parent) Set the parent class loader for this server.voidSet theServerwith which we are associated (if any).protected voidStart nested components (Executors,Connectors andContainers) and implement the requirements ofLifecycleBase.startInternal().protected voidStop nested components (Executors,Connectors andContainers) and implement the requirements ofLifecycleBase.stopInternal().toString()Return a String representation of this component.Methods 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.Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
-
Field Details
-
support
The property change support for this component. -
connectors
The set of Connectors associated with this Service. -
executors
The list of executors held by the service. -
mapper
Mapper. -
mapperListener
Mapper listener.
-
-
Constructor Details
-
StandardService
public StandardService()
-
-
Method Details
-
getGracefulStopAwaitMillis
public long getGracefulStopAwaitMillis() -
setGracefulStopAwaitMillis
public void setGracefulStopAwaitMillis(long gracefulStopAwaitMillis) -
getMapper
-
getContainer
- Specified by:
getContainerin interfaceService- Returns:
- the
Enginethat handles requests for allConnectorsassociated with this Service.
-
setContainer
Description copied from interface:ServiceSet theEnginethat handles requests for allConnectorsassociated with this Service.- Specified by:
setContainerin interfaceService- Parameters:
engine- The new Engine
-
getName
Return the name of this Service. -
setName
Set the name of this Service. -
getServer
Return theServerwith which we are associated (if any). -
setServer
Set theServerwith which we are associated (if any). -
addConnector
Add a new Connector to the set of defined Connectors, and associate it with this Service's Container.- Specified by:
addConnectorin interfaceService- Parameters:
connector- The Connector to be added
-
getConnectorNames
-
addPropertyChangeListener
Add a property change listener to this component.- Parameters:
listener- The listener to add
-
findConnectors
Find and return the set of Connectors associated with this Service.- Specified by:
findConnectorsin interfaceService- Returns:
- the set of associated Connectors
-
removeConnector
Remove the specified Connector from the set associated from this Service. The removed Connector will also be disassociated from our Container.- Specified by:
removeConnectorin interfaceService- Parameters:
connector- The Connector to be removed
-
removePropertyChangeListener
Remove a property change listener from this component.- Parameters:
listener- The listener to remove
-
toString
Return a String representation of this component. -
addExecutor
Adds a named executor to the service- Specified by:
addExecutorin interfaceService- Parameters:
ex- Executor
-
findExecutors
Retrieves all executors- Specified by:
findExecutorsin interfaceService- Returns:
- Executor[]
-
getExecutor
Retrieves executor by name, null if not found- Specified by:
getExecutorin interfaceService- Parameters:
executorName- String- Returns:
- Executor
-
removeExecutor
Removes an executor from the service- Specified by:
removeExecutorin interfaceService- Parameters:
ex- Executor
-
startInternal
Start nested components (Executors,Connectors andContainers) and implement the requirements ofLifecycleBase.startInternal().- Specified by:
startInternalin classLifecycleBase- Throws:
LifecycleException- if this component detects a fatal error that prevents this component from being used
-
stopInternal
Stop nested components (Executors,Connectors andContainers) and implement the requirements ofLifecycleBase.stopInternal().- Specified by:
stopInternalin classLifecycleBase- Throws:
LifecycleException- if this component detects a fatal error that needs to be reported
-
initInternal
Invoke a pre-startup initialization. This is used to allow connectors to bind to restricted ports under Unix operating environments.- Overrides:
initInternalin classLifecycleMBeanBase- Throws:
LifecycleException- If the initialisation fails
-
destroyInternal
Description copied from class:LifecycleMBeanBaseSub-classes wishing to perform additional clean-up should override this method, ensuring that super.destroyInternal() is the last call in the overriding method.- Overrides:
destroyInternalin classLifecycleMBeanBase- Throws:
LifecycleException- If the destruction fails
-
getParentClassLoader
Return the parent class loader for this component.- Specified by:
getParentClassLoaderin interfaceService- Returns:
- the parent class loader for this component. If not set, return
Service.getServer()Server.getParentClassLoader(). If no server has been set, return the system class loader.
-
setParentClassLoader
Set the parent class loader for this server.- Specified by:
setParentClassLoaderin interfaceService- Parameters:
parent- The new parent class loader
-
getDomainInternal
Description copied from class:LifecycleMBeanBaseMethod implemented by sub-classes to identify the domain in which MBeans should be registered.- Specified by:
getDomainInternalin classLifecycleMBeanBase- Returns:
- The name of the domain to use to register MBeans.
-
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
-