@Distributable public class JDBCMonitor extends AbstractServiceMonitor
src/services/org/opennms/netmgt/poller
OpenNMS plugin
information at OpenNMS
developer site Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_RETRY
Default number of times to retry a test
|
static int |
DEFAULT_TIMEOUT
Number of miliseconds to wait before timing out a database login using
JDBC Hint: 1 minute is 6000 miliseconds.
|
static org.slf4j.Logger |
LOG |
Constructor and Description |
---|
JDBCMonitor()
Class constructor.
|
Modifier and Type | Method and Description |
---|---|
PollStatus |
checkDatabaseStatus(Connection con,
Map<String,Object> parameters)
checkDatabaseStatus
|
protected void |
closeStmt(Statement statement)
closeStmt
|
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 when an interface that support the service is added
to the scheduling service.
|
PollStatus |
poll(MonitoredService svc,
Map<String,Object> parameters)
This method is the heart of the plug-in monitor.
|
void |
release()
Release any used services by the plugin,normally during framework exit
For now this method is just an 'adaptor', does nothing
|
void |
release(MonitoredService svc)
This method is the called whenever an interface is being removed from the
scheduler.
|
getKeyedBoolean, getKeyedInteger, getKeyedLong, getKeyedObject, getKeyedString
public static final org.slf4j.Logger LOG
public static final int DEFAULT_TIMEOUT
public static final int DEFAULT_RETRY
public JDBCMonitor() throws ClassNotFoundException, InstantiationException, IllegalAccessException
ClassNotFoundException
- if any.InstantiationException
- if any.IllegalAccessException
- if any.public void initialize(Map<String,Object> parameters)
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.
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 monitor may throw a ServiceMonitorException. If the plug-in throws an exception then the plug-in will be disabled in the framework.
This method is called after the framework loads the plugin.initialize
in interface ServiceMonitor
initialize
in class AbstractServiceMonitor
parameters
- Not currently usedpublic void release()
release
in interface ServiceMonitor
release
in class AbstractServiceMonitor
RuntimeException
- Thrown if an error occurs during deallocation.public void initialize(MonitoredService svc)
initialize
in interface ServiceMonitor
initialize
in class AbstractServiceMonitor
svc
- a MonitoredService
object.RuntimeException
- Thrown if an unrecoverable error occurs that prevents the
interface from being monitored.NetworkInterfaceNotSupportedException
- Thrown if the passed interface is invalid for this monitor.public void release(MonitoredService svc)
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.
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.
This method is the called whenever an interface is being removed from the scheduler. For now this method is just an 'adaptor', does nothing
release
in interface ServiceMonitor
release
in class AbstractServiceMonitor
svc
- TODOpublic PollStatus poll(MonitoredService svc, Map<String,Object> parameters)
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.
Network interface to poll for a given service. Make sure you're using the latest (at least 5.5) JConnect version or the plugin will not be able to tell exactly if the service is up or not.poll
in interface ServiceMonitor
poll
in class AbstractServiceMonitor
svc
- TODOparameters
- The package parameters (timeout, retry, etc...) to be used for
this poll.org.opennms.netmgt.poller.ServiceMonitor#SERVICE_AVAILABLE
,
org.opennms.netmgt.poller.ServiceMonitor#SERVICE_UNAVAILABLE
,
org.opennms.netmgt.poller.ServiceMonitor#SERVICE_UNRESPONSIVE
,
Error
codes for JConnect protected void closeStmt(Statement statement)
closeStmt
statement
- a Statement
object.public PollStatus checkDatabaseStatus(Connection con, Map<String,Object> parameters)
checkDatabaseStatus
con
- a Connection
object.parameters
- a Map
object.PollStatus
object.Copyright © 2017. All rights reserved.