OpenNMS API 1.2.9

## org.opennms.netmgt.vulnscand
Class Scheduler

    java.lang.Object
      org.opennms.netmgt.vulnscand.Scheduler

All Implemented Interfaces:
  Fiber, PausableFiber, java.lang.Runnable

final class Scheduler
extends java.lang.Object
implements java.lang.Runnable, PausableFiber

This class implements a simple scheduler to ensure that Vulnscand rescans occurs at the expected intervals.

Author:
  Mike Davidson , OpenNMS

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_knownAddresses` List of NessusScanConfiguration objects representing the IP addresses that will be scheduled.
`private java.lang.String` `m_name` The name of this fiber.
`private FifoQueue` `m_scheduledScanQ` The rescan queue where new NessusScan 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 java.lang.String` `SQL_DB_RETRIEVE_IP_INTERFACE` The SQL statement used to retrieve all non-deleted/non-forced unamanaged IP interfaces from the 'ipInterface' table.
`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.

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` `addToKnownAddresses(java.net.InetAddress address, int scanLevel)` Creates a NessusScanConfiguration object representing the specified node and adds it to the known node list for scheduling.
`private java.util.Set` `getAllManagedInterfaces()`
`java.lang.String` `getName()` Returns the name of this fiber.
`int` `getStatus()` Returns the current of this fiber.
`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.
`void` `start()` Starts the fiber.
`void` `stop()` Stops the fiber.
`static java.net.InetAddress` `toInetAddress(long address)`
`(package private) void` `unscheduleAddress(java.net.InetAddress address)` 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

### FIBER_NAME

    private static final java.lang.String FIBER_NAME

  The prefix for the fiber name.

  See Also:
    Constant Field Values

### SQL_DB_RETRIEVE_IP_INTERFACE

    private static final java.lang.String SQL_DB_RETRIEVE_IP_INTERFACE

  The SQL statement used to retrieve all non-deleted/non-forced unamanaged IP interfaces from the 'ipInterface' table.

  See Also:
    Constant Field Values

### SQL_GET_LAST_POLL_TIME

    private static final 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.

  See Also:
    Constant Field Values

### m_name

    private java.lang.String m_name

  The name of this fiber.

### m_status

    private int m_status

  The status for this fiber.

### m_worker

    private java.lang.Thread m_worker

  The worker thread that executes this instance.

### m_knownAddresses

    private java.util.List m_knownAddresses

  List of NessusScanConfiguration objects representing the IP addresses that will be scheduled.

### m_interval

    private long m_interval

  The configured interval (in milliseconds) between rescans

### m_initialSleep

    private long m_initialSleep

  The configured initial sleep (in milliseconds) prior to scheduling rescans

### m_scheduledScanQ

    private FifoQueue m_scheduledScanQ

  The rescan queue where new NessusScan objects are enqueued for execution.

Constructor Detail

### Scheduler

    Scheduler(FifoQueue rescanQ)
        throws java.sql.SQLException

  Constructs a new instance of the scheduler.

Method Detail

### getAllManagedInterfaces

    private java.util.Set getAllManagedInterfaces()

### addToKnownAddresses

    void addToKnownAddresses(java.net.InetAddress address,
                             int scanLevel)
                       throws java.sql.SQLException

  Creates a NessusScanConfiguration object representing the specified node and adds it to the known node list for scheduling.

  Parameters:
    `address` - the internet address.
    `scanLevel` - the scan level.
  Throws:
    `java.sql.SQLException` - if there is any problem accessing the database

### unscheduleAddress

    void unscheduleAddress(java.net.InetAddress address)

  Removes the specified node from the known node list.

  Parameters:
    `address` - Address of interface to be removed.

### toInetAddress

    public static java.net.InetAddress toInetAddress(long address)
                                              throws java.net.UnknownHostException

  Throws:
    `java.net.UnknownHostException`

### start

    public void start()

  Starts the fiber.

  Specified by:
    `start` in interface `Fiber`
  Throws:
    `java.lang.IllegalStateException` - Thrown if the fiber is already running.

### stop

    public void stop()

  Stops the fiber. If the fiber has never been run then an exception is generated.

  Specified by:
    `stop` in interface `Fiber`
  Throws:
    `java.lang.IllegalStateException` - Throws if the fiber has never been started.

### pause

    public void pause()

  Pauses the scheduler if it is current running. If the fiber has not been run or has already stopped then an exception is generated.

  Specified by:
    `pause` in interface `PausableFiber`
  Throws:
    `java.lang.IllegalStateException` - Throws if the operation could not be completed due to the fiber's state.

### resume

    public void resume()

  Resumes the scheduler if it has been paused. If the fiber has not been run or has already stopped then an exception is generated.

  Specified by:
    `resume` in interface `PausableFiber`
  Throws:
    `java.lang.IllegalStateException` - Throws if the operation could not be completed due to the fiber's state.

### getStatus

    public int getStatus()

  Returns the current of this fiber.

  Specified by:
    `getStatus` in interface `Fiber`
  Returns:
    The current status.

### getName

    public java.lang.String getName()

  Returns the name of this fiber.

  Specified by:
    `getName` in interface `Fiber`
  Returns:
    The name of the `Fiber`.

### run

    public void run()

  The main method of the scheduler. This method is responsible for checking the runnable queues for ready objects and then enqueuing them into the thread pool for execution.

  Specified by:
    `run` in interface `java.lang.Runnable`

OpenNMS API 1.2.9

Generated by ranger on May 19 2007 2335.