public final class DelegatingServiceContainer extends Object implements ServiceContainer
ServiceContainer.Factory, ServiceContainer.TerminateListener| Constructor and Description |
|---|
DelegatingServiceContainer(ServiceTarget delegateTarget,
ServiceRegistry delegateRegistry)
Construct a new instance.
|
| Modifier and Type | Method and Description |
|---|---|
ServiceContainer |
addDependency(Collection<ServiceName> dependencies)
Add a collection of dependencies that will be added to the all ServiceBuilders installed in this target
|
ServiceContainer |
addDependency(ServiceName... dependencies)
Add a list of dependencies that will be added to the all ServiceBuilders installed in this target.
|
ServiceContainer |
addDependency(ServiceName dependency)
Add a dependency that will be added to the all ServiceBuilders installed in this target.
|
ServiceContainer |
addListener(Collection<ServiceListener<Object>> listeners)
Add a collection of service listener that will be added to all ServiceBuilders installed in this target.
|
ServiceContainer |
addListener(ServiceListener<Object>... listeners)
Add a list of service listener that will be added to all ServiceBuilders installed in this target.
|
ServiceContainer |
addListener(ServiceListener<Object> listener)
Add a service listener that will be added to all the ServiceBuilders installed in this target.
|
ServiceTarget |
addMonitor(StabilityMonitor monitor)
Add a stability monitor that will be added to all the ServiceBuilders installed in this target.
|
ServiceTarget |
addMonitors(StabilityMonitor... monitors)
Add a stability monitors that will be added to all the ServiceBuilders installed in this target.
|
<T> ServiceBuilder<T> |
addService(ServiceName name,
Service<T> service)
Get a builder which can be used to add a service to this target.
|
<T> ServiceBuilder<T> |
addServiceValue(ServiceName name,
Value<? extends Service<T>> value)
Get a builder which can be used to add a service to this target.
|
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.
|
BatchServiceTarget |
batchTarget()
Create a new batch service target, which is used to install described services in this target.
|
void |
dumpServices()
Dump a complete list of services to
System.out. |
void |
dumpServices(PrintStream stream)
Dump a complete list of services to the given stream.
|
Set<ServiceName> |
getDependencies()
Returns a set of all dependencies added to this target.
|
Set<ServiceListener<Object>> |
getListeners()
Returns a set of the listeners added to this target.
|
Set<StabilityMonitor> |
getMonitors()
Returns a set of the monitors added to this target.
|
String |
getName()
Get the name of this service container.
|
ServiceController<?> |
getRequiredService(ServiceName serviceName)
Get a service, throwing an exception if it is not found.
|
ServiceController<?> |
getService(ServiceName serviceName)
Get a service, returning
null if it is not found. |
List<ServiceName> |
getServiceNames()
Get a list of service names installed in this registry.
|
boolean |
isShutdown()
Whether container have been shut down.
|
boolean |
isShutdownComplete()
Determine whether the container is completely shut down.
|
ServiceContainer |
removeDependency(ServiceName dependency)
Remove a dependency from this target.
|
ServiceContainer |
removeListener(ServiceListener<Object> listener)
Remove a listener from this target, if it exists.
|
ServiceTarget |
removeMonitor(StabilityMonitor monitor)
Remove a monitor from this target, if it exists.
|
void |
shutdown()
Stop all services within this container.
|
ServiceTarget |
subTarget()
Create a sub-target using this as the parent target.
|
public DelegatingServiceContainer(ServiceTarget delegateTarget, ServiceRegistry delegateRegistry)
delegateTarget - the delegate to forward service target requests todelegateRegistry - the delegate to forward registry requests topublic <T> ServiceBuilder<T> addServiceValue(ServiceName name, Value<? extends Service<T>> value) throws IllegalArgumentException
addServiceValue in interface ServiceTargetname - the service namevalue - the service valueIllegalArgumentExceptionpublic <T> ServiceBuilder<T> addService(ServiceName name, Service<T> service) throws IllegalArgumentException
addService in interface ServiceTargetname - the service nameservice - the serviceIllegalArgumentExceptionpublic ServiceContainer addListener(ServiceListener<Object> listener)
addListener in interface ServiceTargetlistener - the listener to add to the targetpublic ServiceContainer addListener(ServiceListener<Object>... listeners)
addListener in interface ServiceTargetlisteners - a list of listeners to add to the targetpublic ServiceContainer addListener(Collection<ServiceListener<Object>> listeners)
addListener in interface ServiceTargetlisteners - a collection of listeners to add to the targetpublic ServiceContainer removeListener(ServiceListener<Object> listener)
removeListener in interface ServiceTargetlistener - the listener to removepublic Set<ServiceListener<Object>> getListeners()
getListeners in interface ServiceTargetpublic ServiceTarget addMonitor(StabilityMonitor monitor)
addMonitor in interface ServiceTargetmonitor - the monitor to add to the targetpublic ServiceTarget addMonitors(StabilityMonitor... monitors)
addMonitors in interface ServiceTargetmonitors - the monitors to add to the targetpublic ServiceTarget removeMonitor(StabilityMonitor monitor)
removeMonitor in interface ServiceTargetmonitor - the monitor to removepublic Set<StabilityMonitor> getMonitors()
getMonitors in interface ServiceTargetpublic ServiceContainer addDependency(ServiceName dependency)
addDependency in interface ServiceTargetdependency - the dependency to add to the targetpublic ServiceContainer addDependency(ServiceName... dependencies)
addDependency in interface ServiceTargetdependencies - a list of dependencies to add to the targetpublic ServiceContainer addDependency(Collection<ServiceName> dependencies)
addDependency in interface ServiceTargetdependencies - a collection of dependencies to add to this targetpublic ServiceContainer removeDependency(ServiceName dependency)
removeDependency in interface ServiceTargetdependency - the dependencypublic Set<ServiceName> getDependencies()
getDependencies in interface ServiceTargetpublic ServiceTarget subTarget()
subTarget in interface ServiceTargetpublic BatchServiceTarget batchTarget()
batchTarget in interface ServiceTargetpublic ServiceController<?> getRequiredService(ServiceName serviceName) throws ServiceNotFoundException
getRequiredService in interface ServiceRegistryserviceName - the service nameServiceNotFoundException - if the service is not present in the registrypublic ServiceController<?> getService(ServiceName serviceName)
null if it is not found.getService in interface ServiceRegistryserviceName - the service namenull if it is not foundpublic List<ServiceName> getServiceNames()
getServiceNames in interface ServiceRegistrypublic String getName()
getName in interface ServiceContainerpublic void shutdown()
shutdown in interface ServiceContainerpublic boolean isShutdown()
isShutdown in interface ServiceContainertrue if container is shutting downpublic boolean isShutdownComplete()
isShutdownComplete in interface ServiceContainertrue if shutdown is completepublic void dumpServices()
System.out.dumpServices in interface ServiceContainerpublic void dumpServices(PrintStream stream)
dumpServices in interface ServiceContainerstream - the stream to which the service list should be writtenpublic void addTerminateListener(ServiceContainer.TerminateListener listener)
listener will be invoked when this container shutdown process is complete.addTerminateListener in interface ServiceContainerlistener - the listenerpublic void awaitTermination()
awaitTermination in interface ServiceContainerpublic void awaitTermination(long timeout,
TimeUnit unit)
throws InterruptedException
awaitTermination in interface ServiceContainertimeout - the maximum time to waitunit - the time unit of the timeout argumentInterruptedException - if the current thread is interrupted
while waitingpublic void awaitStability()
throws InterruptedException
awaitStability in interface ServiceContainerInterruptedException - if the current thread is interrupted
while waitingpublic boolean awaitStability(long timeout,
TimeUnit unit)
throws InterruptedException
awaitStability in interface ServiceContainertimeout - the maximum time to waitunit - the time unit of the timeout argumentInterruptedException - if the current thread is interrupted
while waitingpublic void awaitStability(Set<? super ServiceController<?>> failed, Set<? super ServiceController<?>> problem) throws InterruptedException
awaitStability in interface ServiceContainerfailed - a set into which failed services should be copiedproblem - a set into which problem services should be copiedInterruptedException - if the current thread is interrupted
while waitingpublic boolean awaitStability(long timeout,
TimeUnit unit,
Set<? super ServiceController<?>> failed,
Set<? super ServiceController<?>> problem)
throws InterruptedException
awaitStability in interface ServiceContainertimeout - the maximum time to waitunit - the time unit of the timeout argumentfailed - a set into which failed services should be copiedproblem - a set into which problem services should be copiedInterruptedException - if the current thread is interrupted
while waitingCopyright © 2017 JBoss by Red Hat. All rights reserved.