java.io.Closeable, java.lang.AutoCloseable, Service@Public @Evolving public class CompositeService extends AbstractService
| Modifier and Type | Class | Description |
|---|---|---|
static class |
CompositeService.CompositeServiceShutdownHook |
JVM Shutdown hook for CompositeService which will stop the give
CompositeService gracefully in case of JVM shutdown.
|
Service.STATE| Modifier and Type | Field | Description |
|---|---|---|
protected static boolean |
STOP_ONLY_STARTED_SERVICES |
Policy on shutdown: attempt to close everything (purest) or
only try to close started services (which assumes
that the service implementations may not handle the stop() operation
except when started.
|
| Constructor | Description |
|---|---|
CompositeService(java.lang.String name) |
| Modifier and Type | Method | Description |
|---|---|---|
protected boolean |
addIfService(java.lang.Object object) |
If the passed object is an instance of
Service,
add it to the list of services managed by this CompositeService |
protected void |
addService(Service service) |
Add the passed
Service to the list of services managed by this
CompositeService |
java.util.List<Service> |
getServices() |
Get a cloned list of services
|
protected boolean |
removeService(Service service) |
|
protected void |
serviceInit(Configuration conf) |
All initialization code needed by a service.
|
protected void |
serviceStart() |
Actions called during the INITED to STARTED transition.
|
protected void |
serviceStop() |
Actions called during the transition to the STOPPED state.
|
close, getBlockers, getConfig, getFailureCause, getFailureState, getLifecycleHistory, getName, getServiceState, getStartTime, init, isInState, noteFailure, putBlocker, registerGlobalListener, registerServiceListener, removeBlocker, setConfig, start, stop, toString, unregisterGlobalListener, unregisterServiceListener, waitForServiceToStopprotected static final boolean STOP_ONLY_STARTED_SERVICES
public java.util.List<Service> getServices()
protected void addService(Service service)
Service to the list of services managed by this
CompositeServiceservice - the Service to be addedprotected boolean addIfService(java.lang.Object object)
Service,
add it to the list of services managed by this CompositeServiceobject - object.protected boolean removeService(Service service)
protected void serviceInit(Configuration conf) throws java.lang.Exception
AbstractServiceAbstractService.init(Configuration) prevents re-entrancy.
The base implementation checks to see if the subclass has created
a new configuration instance, and if so, updates the base class valueserviceInit in class AbstractServiceconf - configurationjava.lang.Exception - on a failure -these will be caught,
possibly wrapped, and will trigger a service stopprotected void serviceStart()
throws java.lang.Exception
AbstractServiceAbstractService.start() prevents re-entrancy.serviceStart in class AbstractServicejava.lang.Exception - if needed -these will be caught,
wrapped, and trigger a service stopprotected void serviceStop()
throws java.lang.Exception
AbstractServiceAbstractService.stop() prevents re-entrancy.
Implementations MUST write this to be robust against failures, including
checks for null references -and for the first failure to not stop other
attempts to shut down parts of the service.serviceStop in class AbstractServicejava.lang.Exception - if needed -these will be caught and logged.Copyright © 2008–2025 Apache Software Foundation. All rights reserved.