Package com.tangosol.net
Class SimpleServiceMonitor
java.lang.Object
com.tangosol.net.SimpleServiceMonitor
- All Implemented Interfaces:
Disposable
,ServiceMonitor
,AutoCloseable
The
SimpleServiceMonitor
starts and monitors services that are
registered for monitoring.- Since:
- Coherence 12.1.2
- Author:
- cf 2011.05.24, hr 2012.06.28, gh 2022.11.22
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final Integer
The default time interval by which we check the alive status.protected ConfigurableCacheFactory
AConfigurableCacheFactory
instance used to start the service.protected final long
The number of milliseconds between checking the status of the services.protected boolean
Indicates that thisServiceMonitor
has been disposed.protected boolean
Indicates that theServiceMonitor
has started.A map ofService
s to be monitored with values being non-scoped service names.protected Thread
TheThread
we are using for monitoring the services periodically. -
Constructor Summary
ConstructorDescriptionConstruct a SimpleServiceMonitor with the default interval to check that the registered services are running (DEFAULT_WAIT_MILLIS
).SimpleServiceMonitor
(long cWaitMillis) Construct a SimpleServiceMonitor with the provided interval to check that the registered services are running. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
ThrowsIllegalStateException
if this monitor has been disposed via invocation ofdispose()
.void
dispose()
Invoked when all resources owned by the implementer can safely be released.Return the thread used by this ServiceMonitor.protected boolean
Return true if thisServiceMonitor
has been disposed via invocation ofdispose()
.boolean
Returns true iff the ServiceMonitor is monitoring a number of services.protected void
monitorServices
(long cWaitMillis) Check the service status periodically (keep alive interval), restarting any stopped services.void
registerServices
(Map<Service, String> mapServices) Adds a set ofService
s to be monitored providing life support.void
Set theConfigurableCacheFactory
aServiceMonitor
can operate with.protected void
start()
Start monitoring the services.void
Stop monitoring all registered services.void
unregisterServices
(Set<Service> setServices) Removes the supplied set ofService
s from monitoring.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.oracle.coherence.common.base.Disposable
close
-
Field Details
-
DEFAULT_WAIT_MILLIS
The default time interval by which we check the alive status. -
m_fStarted
protected volatile boolean m_fStartedIndicates that theServiceMonitor
has started. -
m_thread
TheThread
we are using for monitoring the services periodically. -
m_fDisposed
protected boolean m_fDisposedIndicates that thisServiceMonitor
has been disposed. -
m_ccf
AConfigurableCacheFactory
instance used to start the service. -
m_mapServices
A map ofService
s to be monitored with values being non-scoped service names. -
m_cWaitMillis
protected final long m_cWaitMillisThe number of milliseconds between checking the status of the services.
-
-
Constructor Details
-
SimpleServiceMonitor
public SimpleServiceMonitor()Construct a SimpleServiceMonitor with the default interval to check that the registered services are running (DEFAULT_WAIT_MILLIS
). -
SimpleServiceMonitor
public SimpleServiceMonitor(long cWaitMillis) Construct a SimpleServiceMonitor with the provided interval to check that the registered services are running.- Parameters:
cWaitMillis
- the number of milliseconds in between checking that the registered services are running
-
-
Method Details
-
registerServices
Adds a set ofService
s to be monitored providing life support. If any of the services are not running they are started either via the configuredConfigurableCacheFactory
iff provided or the providedService
.- Specified by:
registerServices
in interfaceServiceMonitor
- Parameters:
mapServices
- a map ofService
s where values are non-scoped service names
-
unregisterServices
Removes the supplied set ofService
s from monitoring. Note that the services are not being stopped; they are just removed from the list ofService
s that are being monitored.- Specified by:
unregisterServices
in interfaceServiceMonitor
- Parameters:
setServices
- the set ofService
s to be removed from monitoring
-
stopMonitoring
public void stopMonitoring()Stop monitoring all registered services. Note that the services are not being stopped; they are just removed from the list ofService
s that are being monitored.- Specified by:
stopMonitoring
in interfaceServiceMonitor
-
isMonitoring
public boolean isMonitoring()Returns true iff the ServiceMonitor is monitoring a number of services.- Specified by:
isMonitoring
in interfaceServiceMonitor
- Returns:
- returns true iff the ServiceMonitor is monitoring a number of services
-
setConfigurableCacheFactory
Set theConfigurableCacheFactory
aServiceMonitor
can operate with. Setting theConfigurableCacheFactory
should be performed prior to registering services or requires aServiceMonitor.stopMonitoring()
andServiceMonitor.registerServices(Map)
call.- Specified by:
setConfigurableCacheFactory
in interfaceServiceMonitor
- Parameters:
ccf
- theConfigurableCacheFactory
used to start the service
-
getThread
Return the thread used by this ServiceMonitor.- Specified by:
getThread
in interfaceServiceMonitor
-
dispose
public void dispose()Invoked when all resources owned by the implementer can safely be released.Once disposed of the object should no longer be considered to be usable.
Note the Disposable interface is compatible with try-with-resources which will automatically invoke this method.
- Specified by:
dispose
in interfaceDisposable
-
start
protected void start()Start monitoring the services. -
monitorServices
protected void monitorServices(long cWaitMillis) Check the service status periodically (keep alive interval), restarting any stopped services.- Parameters:
cWaitMillis
- the number of milliseconds between checks
-
isDisposed
protected boolean isDisposed()Return true if thisServiceMonitor
has been disposed via invocation ofdispose()
.- Returns:
- true if this monitor has been disposed
-
assertNotDisposed
protected void assertNotDisposed()ThrowsIllegalStateException
if this monitor has been disposed via invocation ofdispose()
.- Throws:
IllegalStateException
- if this monitor has been disposed
-