|
OpenNMS API 1.2.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.opennms.netmgt.capsd.Scheduler
This class implements a simple scheduler to ensure that Capsd rescans occurs at the expected intervals.
Nested Class Summary | |
(package private) class |
Scheduler.NodeInfo
This class encapsulates the information about a node necessary to schedule the node for rescans. |
Field Summary | |
private static java.lang.String |
FIBER_NAME
The prefix for the fiber name. |
private long |
m_initialSleep
The configured initial sleep (in milliseconds) prior to scheduling rescans |
private long |
m_interval
The configured interval (in milliseconds) between rescans |
private java.util.List |
m_knownNodes
List of NodeInfo objects representing each of the nodes in the database capability of being scheduled. |
private java.lang.String |
m_name
The name of this fiber. |
private FifoQueue |
m_rescanQ
The rescan queue where new RescanProcessor objects are enqueued for execution. |
private int |
m_status
The status for this fiber. |
private java.lang.Thread |
m_worker
The worker thread that executes this instance. |
private static int |
SMB_REPARENTING_IDENTIFIER
Special identifier used in place of a valid node id in order to schedule an SMB reparenting using the rescan scheduler. |
private static java.lang.String |
SQL_GET_LAST_POLL_TIME
SQL used to retrieve the last poll time for all the managed interfaces belonging to a particular node. |
private static java.lang.String |
SQL_RETRIEVE_NODES
SQL used to retrieve list of nodes from the node table. |
Fields inherited from interface org.opennms.core.fiber.PausableFiber |
PAUSE_PENDING, PAUSED, RESUME_PENDING |
Fields inherited from interface org.opennms.core.fiber.Fiber |
RUNNING, START_PENDING, STARTING, STATUS_NAMES, STOP_PENDING, STOPPED |
Constructor Summary | |
(package private) |
Scheduler(FifoQueue rescanQ)
Constructs a new instance of the scheduler. |
Method Summary | |
(package private) void |
forceRescan(int nodeId)
Creates a NodeInfo object representing the specified node and adds it to the rescan queue for immediate rescanning. |
java.lang.String |
getName()
Returns the name of this fiber. |
int |
getStatus()
Returns the current of this fiber. |
private void |
loadKnownNodes()
Builds a list of NodeInfo objects representing each of the nodes in the database capable of being scheduled for rescan. |
void |
pause()
Pauses the scheduler if it is current running. |
void |
resume()
Resumes the scheduler if it has been paused. |
void |
run()
The main method of the scheduler. |
(package private) void |
scheduleNode(int nodeId)
Creates a NodeInfo object representing the specified node and adds it to the known node list for scheduling. |
void |
start()
Starts the fiber. |
void |
stop()
Stops the fiber. |
(package private) void |
unscheduleNode(int nodeId)
Removes the specified node from the known node list. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final java.lang.String FIBER_NAME
private static final java.lang.String SQL_RETRIEVE_NODES
private static final java.lang.String SQL_GET_LAST_POLL_TIME
private static final int SMB_REPARENTING_IDENTIFIER
private java.lang.String m_name
private int m_status
private java.lang.Thread m_worker
private java.util.List m_knownNodes
private long m_interval
private long m_initialSleep
private FifoQueue m_rescanQ
Constructor Detail |
Scheduler(FifoQueue rescanQ) throws java.sql.SQLException
Method Detail |
private void loadKnownNodes() throws java.sql.SQLException
java.sql.SQLException
- if there is a problem accessing the database.void scheduleNode(int nodeId) throws java.sql.SQLException
nodeId
- Id of node to be scheduled
java.sql.SQLException
- if there is any problem accessing the databasevoid unscheduleNode(int nodeId)
nodeId
- Id of node to be removed.void forceRescan(int nodeId)
nodeId
- Id of node to be rescannedpublic void start()
start
in interface Fiber
java.lang.IllegalStateException
- Thrown if the fiber is already running.public void stop()
stop
in interface Fiber
java.lang.IllegalStateException
- Throws if the fiber has never been started.public void pause()
pause
in interface PausableFiber
java.lang.IllegalStateException
- Throws if the operation could not be completed due to the
fiber's state.public void resume()
resume
in interface PausableFiber
java.lang.IllegalStateException
- Throws if the operation could not be completed due to the
fiber's state.public int getStatus()
getStatus
in interface Fiber
public java.lang.String getName()
getName
in interface Fiber
Fiber
.public void run()
run
in interface java.lang.Runnable
|
OpenNMS API 1.2.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |