Package org.jboss.msc.service
Interface ServiceContainer
-
- All Superinterfaces:
ServiceRegistry
,ServiceTarget
- All Known Implementing Classes:
DelegatingServiceContainer
public interface ServiceContainer extends ServiceTarget, ServiceRegistry
A service container which manages a set of running services.- Author:
- David M. Lloyd, Richard Opalka
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
ServiceContainer.Factory
The factory class for service containers.static interface
ServiceContainer.TerminateListener
A listener for notification of container shutdown.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addTerminateListener(ServiceContainer.TerminateListener listener)
Add a terminate listener to this container.void
awaitStability()
Causes the current thread to wait until the container is stable.boolean
awaitStability(long timeout, TimeUnit unit)
Causes the current thread to wait until the container is stable.boolean
awaitStability(long timeout, TimeUnit unit, Set<? super ServiceController<?>> failed, Set<? super ServiceController<?>> problem)
Causes the current thread to wait until the container is stable.void
awaitStability(Set<? super ServiceController<?>> failed, Set<? super ServiceController<?>> problem)
Causes the current thread to wait until the container is stable.void
awaitTermination()
Causes the current thread to wait until the container is shutdown.void
awaitTermination(long timeout, TimeUnit unit)
Causes the current thread to wait until the container is shutdown.void
dumpServices()
Dump a complete list of services toSystem.out
.void
dumpServices(PrintStream stream)
Dump a complete list of services to the given stream.String
getName()
Get the name of this service container.boolean
isShutdown()
Whether container have been shut down.boolean
isShutdownComplete()
Determine whether the container is completely shut down.void
shutdown()
Stop all services within this container.-
Methods inherited from interface org.jboss.msc.service.ServiceRegistry
getRequiredService, getService, getServiceNames
-
Methods inherited from interface org.jboss.msc.service.ServiceTarget
addDependency, addListener, addMonitor, addService, addService, addService, removeListener, removeMonitor, subTarget
-
-
-
-
Method Detail
-
shutdown
void shutdown()
Stop all services within this container.
-
isShutdown
boolean isShutdown()
Whether container have been shut down.- Returns:
true
if container is shutting down
-
isShutdownComplete
boolean isShutdownComplete()
Determine whether the container is completely shut down.- Returns:
true
if shutdown is complete
-
addTerminateListener
void addTerminateListener(ServiceContainer.TerminateListener listener)
Add a terminate listener to this container. The addedlistener
will be invoked when this container shutdown process is complete.- Parameters:
listener
- the listener
-
awaitTermination
void awaitTermination() throws InterruptedException
Causes the current thread to wait until the container is shutdown.- Throws:
InterruptedException
- if the current thread is interrupted while waiting
-
awaitTermination
void awaitTermination(long timeout, TimeUnit unit) throws InterruptedException
Causes the current thread to wait until the container is shutdown.- Parameters:
timeout
- the maximum time to waitunit
- the time unit of thetimeout
argument- Throws:
InterruptedException
- if the current thread is interrupted while waiting
-
awaitStability
void awaitStability() throws InterruptedException
Causes the current thread to wait until the container is stable.- Throws:
InterruptedException
- if the current thread is interrupted while waiting
-
awaitStability
boolean awaitStability(long timeout, TimeUnit unit) throws InterruptedException
Causes the current thread to wait until the container is stable.- Parameters:
timeout
- the maximum time to waitunit
- the time unit of thetimeout
argument- Returns:
- true if this container achieved stability, false if the timeout elapsed before stability
- Throws:
InterruptedException
- if the current thread is interrupted while waiting
-
awaitStability
void awaitStability(Set<? super ServiceController<?>> failed, Set<? super ServiceController<?>> problem) throws InterruptedException
Causes the current thread to wait until the container is stable.- Parameters:
failed
- a set into which failed services should be copiedproblem
- a set into which problem services should be copied- Throws:
InterruptedException
- if the current thread is interrupted while waiting
-
awaitStability
boolean awaitStability(long timeout, TimeUnit unit, Set<? super ServiceController<?>> failed, Set<? super ServiceController<?>> problem) throws InterruptedException
Causes the current thread to wait until the container is stable.- Parameters:
timeout
- the maximum time to waitunit
- the time unit of thetimeout
argumentfailed
- a set into which failed services should be copiedproblem
- a set into which problem services should be copied- Returns:
- true if this container achieved stability, false if the timeout elapsed before stability
- Throws:
InterruptedException
- if the current thread is interrupted while waiting
-
dumpServices
void dumpServices()
Dump a complete list of services toSystem.out
.
-
dumpServices
void dumpServices(PrintStream stream)
Dump a complete list of services to the given stream.- Parameters:
stream
- the stream to which the service list should be written
-
getName
String getName()
Get the name of this service container.- Returns:
- the container name
-
-