Package org.jboss.msc.service
Interface ServiceController<S>
-
- Type Parameters:
S
- the service type
- All Superinterfaces:
Value<S>
- All Known Implementing Classes:
DelegatingServiceController
public interface ServiceController<S> extends Value<S>
A controller for a single service instance.- Author:
- David M. Lloyd, Richard Opalka
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
ServiceController.Mode
The controller mode for a service.static class
ServiceController.State
A possible state for a service controller.
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
addListener(LifecycleListener listener)
Add a service lifecycle listener.S
awaitValue()
Deprecated.this method will be removed in a future releaseS
awaitValue(long time, TimeUnit unit)
Deprecated.this method will be removed in a future releaseboolean
compareAndSetMode(ServiceController.Mode expected, ServiceController.Mode newMode)
Compare the current mode againstexpected
; if it matches, change it tonewMode
.ServiceName[]
getAliases()
Deprecated.UseServiceController#provides()
instead.ServiceController.Mode
getMode()
Get the service controller's current mode.ServiceName
getName()
Deprecated.UseServiceController#provides()
instead.ServiceController<?>
getParent()
Get this service's parent service, ornull
if there is none.Service<S>
getService()
Deprecated.this method will be removed in a future releaseServiceContainer
getServiceContainer()
Get the service container associated with this controller.StartException
getStartException()
Get the reason why the last start failed.ServiceController.State
getState()
Get the current service controller state.Collection<ServiceName>
getUnavailableDependencies()
Deprecated.UseServiceController#missing()
instead.S
getValue()
Deprecated.this method will be removed in a future releaseSet<ServiceName>
missing()
Get the names of all missing values this service require.Set<ServiceName>
provides()
Get the names of all values this service provide.void
removeListener(LifecycleListener listener)
Remove a lifecycle listener.Set<ServiceName>
requires()
Get the names of all values this service require.void
retry()
Retry a failed service.void
setMode(ServiceController.Mode mode)
Change the service controller's current mode.
-
-
-
Method Detail
-
getParent
ServiceController<?> getParent()
Get this service's parent service, ornull
if there is none.- Returns:
- the parent service or
null
if this service has no parent
-
getServiceContainer
ServiceContainer getServiceContainer()
Get the service container associated with this controller.- Returns:
- the container
-
getMode
ServiceController.Mode getMode()
Get the service controller's current mode.- Returns:
- the controller mode
-
compareAndSetMode
boolean compareAndSetMode(ServiceController.Mode expected, ServiceController.Mode newMode)
Compare the current mode againstexpected
; if it matches, change it tonewMode
. The return value istrue
when the mode was matched and changed.- Parameters:
expected
- the expected modenewMode
- the new mode- Returns:
true
if the mode was changed
-
setMode
void setMode(ServiceController.Mode mode)
Change the service controller's current mode. Might result in the service starting or stopping. The mode may only be changed if it was not already set toServiceController.Mode.REMOVE
. Calling this method with the controller's current mode has no effect and is always allowed.- Parameters:
mode
- the new controller mode- Throws:
IllegalStateException
- if the mode given isnull
, or the caller attempted to change the service's mode fromServiceController.Mode.REMOVE
to a different mode
-
getState
ServiceController.State getState()
Get the current service controller state.- Returns:
- the current state
-
getValue
@Deprecated S getValue() throws IllegalStateException
Deprecated.this method will be removed in a future releaseGet the service value.- Specified by:
getValue
in interfaceValue<S>
- Returns:
- the service value
- Throws:
IllegalStateException
- if the service is not available (i.e. it is not up)
-
awaitValue
@Deprecated S awaitValue() throws IllegalStateException, InterruptedException
Deprecated.this method will be removed in a future releaseWait for a service to come up, and then return its value.- Returns:
- the service value
- Throws:
IllegalStateException
- if the service is not available (i.e. it was removed or failed)InterruptedException
- if the wait operation was interrupted
-
awaitValue
@Deprecated S awaitValue(long time, TimeUnit unit) throws IllegalStateException, InterruptedException, TimeoutException
Deprecated.this method will be removed in a future releaseWait for a service to come up for a certain amount of time, and then return its value.- Parameters:
time
- the amount of time to waitunit
- the unit of time to wait- Returns:
- the service value
- Throws:
IllegalStateException
- if the service is not available (i.e. it was removed or failed)InterruptedException
- if the wait operation was interruptedTimeoutException
-
getService
@Deprecated Service<S> getService() throws IllegalStateException
Deprecated.this method will be removed in a future releaseGet the service.- Returns:
- the service
- Throws:
IllegalStateException
- if the service is not available (i.e. it is not up)
-
getName
@Deprecated ServiceName getName()
Deprecated.UseServiceController#provides()
instead. This method will be removed in a future release.Get the name of this service, if any.- Returns:
- the name, or
null
if none was specified. - See Also:
provides()
-
getAliases
@Deprecated ServiceName[] getAliases()
Deprecated.UseServiceController#provides()
instead. This method will be removed in a future release.Get other names this service is known as.- Returns:
- the aliases
- See Also:
provides()
-
requires
Set<ServiceName> requires()
Get the names of all values this service require.- Returns:
- names of required values
-
provides
Set<ServiceName> provides()
Get the names of all values this service provide.- Returns:
- names of provided values
-
missing
Set<ServiceName> missing()
Get the names of all missing values this service require.- Returns:
- names of missing values
-
addListener
void addListener(LifecycleListener listener)
Add a service lifecycle listener.- Parameters:
listener
- the lifecycle listener
-
removeListener
void removeListener(LifecycleListener listener)
Remove a lifecycle listener.- Parameters:
listener
- the lifecycle listener to remove
-
getStartException
StartException getStartException()
Get the reason why the last start failed.- Returns:
- the last start exception, or
null
if the last start succeeded or the service has not yet started
-
retry
void retry()
Retry a failed service. Does nothing if the state is notServiceController.State.START_FAILED
.
-
getUnavailableDependencies
@Deprecated Collection<ServiceName> getUnavailableDependencies()
Deprecated.UseServiceController#missing()
instead. This method will be removed in a future release.Get the complete list of dependencies that are unavailable.- Returns:
- a set containing the names of all unavailable dependencies
-
-