@Distributable public class MockMonitor extends Object implements ServiceMonitor
Distributable
so that we can reuse it for the remote poller tests.Constructor and Description |
---|
MockMonitor()
Simple constructor so that the MockMonitor can be used as a placeholder
ServiceMonitor
inside config files. |
MockMonitor(MockNetwork network,
String svcName) |
Modifier and Type | Method and Description |
---|---|
void |
initialize(Map<String,Object> parameters)
This method is called after the framework creates an instance of the
plug-in.
|
void |
initialize(MonitoredService svc)
This method is called whenever a new interface that supports the plug-in
service is added to the scheduling system.
|
PollStatus |
poll(MonitoredService monSvc,
Map<String,Object> parameters)
This method is the heart of the plug-in monitor.
|
void |
release()
This method is called whenever the plug-in is being unloaded, normally
during framework exit.
|
void |
release(MonitoredService svc)
This method is the called whenever an interface is being removed from the
scheduler.
|
public MockMonitor()
ServiceMonitor
inside config files.public MockMonitor(MockNetwork network, String svcName)
network
- svcName
- public void initialize(MonitoredService svc)
ServiceMonitor
This method is called whenever a new interface that supports the plug-in service is added to the scheduling system. The plug-in has the option to load and/or associate configuration information with the interface before the framework begins scheduling the new device.
Should a monitor exception be thrown during an initialization call then the framework will log an error and discard the interface from scheduling.
initialize
in interface ServiceMonitor
svc
- TODOpublic void initialize(Map<String,Object> parameters)
ServiceMonitor
This method is called after the framework creates an instance of the plug-in. The framework passes the object a proxy object that can be used to retrieve configuration information specific to the plug-in. Additionally, any parameters for the plug-in from the package definition are passed using the parameters element.
If there is a critical error, like missing service libraries, the the Monitor may throw a ServiceMonitorException. If the plug-in throws an exception then the plug-in will be disabled in the framework.
initialize
in interface ServiceMonitor
parameters
- Not currently usedpublic PollStatus poll(MonitoredService monSvc, Map<String,Object> parameters)
ServiceMonitor
This method is the heart of the plug-in monitor. Each time an interface requires a check to be performed as defined by the scheduler the poll method is invoked. The poll is passed the interface to check
By default when the status transition from up to down or vice versa the framework will generate an event. Additionally, if the polling interval changes due to an extended unavailability, the framework will generate an additional down event. The plug-in can suppress the generation of the default events by setting the suppress event bit in the returned integer.
poll
in interface ServiceMonitor
monSvc
- TODOparameters
- The package parameters (timeout, retry, etc...) to be used for
this poll.PollStatus.SERVICE_AVAILABLE
,
PollStatus.SERVICE_UNAVAILABLE
,
PollStatus.SERVICE_AVAILABLE
,
PollStatus.SERVICE_UNAVAILABLE
public void release()
ServiceMonitor
This method is called whenever the plug-in is being unloaded, normally during framework exit. During this time the framework may release any resource and save any state information using the proxy object from the initialization routine.
Even if the plug-in throws a monitor exception, it will not prevent the plug-in from being unloaded. The plug-in should not return until all of its state information is saved. Once the plug-in returns from this call its configuration proxy object is considered invalid.
release
in interface ServiceMonitor
public void release(MonitoredService svc)
ServiceMonitor
This method is the called whenever an interface is being removed from the scheduler. For example, if a service is determined as being no longer supported then this method will be invoked to cleanup any information associated with this device. This gives the implementor of the interface the ability to serialize any data prior to the interface being discarded.
If an exception is thrown during the release the exception will be logged, but the interface will still be discarded for garbage collection.
release
in interface ServiceMonitor
svc
- TODOCopyright © 2017. All rights reserved.