@InterfaceAudience.Public @InterfaceStability.Evolving public class CompositeService extends AbstractService
| Modifier and Type | Field and Description | 
|---|---|
| protected static boolean | STOP_ONLY_STARTED_SERVICESPolicy 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 and Description | 
|---|
| CompositeService(String name) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected boolean | addIfService(Object object)If the passed object is an instance of  Service,
 add it to the list of services managed by thisCompositeService | 
| protected void | addService(Service service)Add the passed  Serviceto the list of services managed by thisCompositeService | 
| 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 CompositeService(String name)
public 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(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 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 - configurationException - on a failure -these will be caught,
 possibly wrapped, and will trigger a service stopprotected void serviceStart()
                     throws Exception
AbstractServiceAbstractService.start() prevents re-entrancy.serviceStart in class AbstractServiceException - if needed -these will be caught,
 wrapped, and trigger a service stopprotected void serviceStop()
                    throws 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 AbstractServiceException - if needed -these will be caught and logged.Copyright © 2024 Apache Software Foundation. All rights reserved.