OpenNMS API 1.2.3

org.opennms.netmgt.poller.monitors
Class ImapMonitor

java.lang.Object
  extended byorg.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
      extended byorg.opennms.netmgt.poller.monitors.ImapMonitor
All Implemented Interfaces:
ServiceMonitor

public final class ImapMonitor
extends IPv4LatencyMonitor

This class is designed to be used by the service poller framework to test the availability of the IMAP service on remote interfaces. The class implements the ServiceMonitor interface that allows it to be used along with other plug-ins by the service poller framework.

Version:
CVS 1.1.1.1
Author:
Tarus Balog , Sowmya Nataraj , Mike Davidson , OpenNMS

Field Summary
private static int DEFAULT_PORT
          Default IMAP port.
private static int DEFAULT_RETRY
          Default retries.
private static int DEFAULT_TIMEOUT
          Default timeout.
private static java.lang.String IMAP_BYE_RESPONSE_PREFIX
          The BYE response received from the server in response to the logout
private static java.lang.String IMAP_LOGOUT_REQUEST
          The LOGOUT request sent to the server to close the connection
private static java.lang.String IMAP_LOGOUT_RESPONSE_PREFIX
          The LOGOUT response received from the server in response to the logout
private static java.lang.String IMAP_START_RESPONSE_PREFIX
          The start of the initial banner received from the server
 
Fields inherited from class org.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
DS_NAME
 
Fields inherited from interface org.opennms.netmgt.poller.monitors.ServiceMonitor
SERVICE_AVAILABLE, SERVICE_STATUS_MASK, SERVICE_UNAVAILABLE, SERVICE_UNKNOWN, SERVICE_UNRESPONSIVE, SURPRESS_EVENT_MASK
 
Constructor Summary
ImapMonitor()
           
 
Method Summary
 int poll(NetworkInterface iface, java.util.Map parameters, Package pkg)
           Poll the specified address for IMAP service availability.
 
Methods inherited from class org.opennms.netmgt.poller.monitors.IPv4LatencyMonitor
createRRD, initialize, initialize, release, release, updateRRD
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_PORT

private static final int DEFAULT_PORT
Default IMAP port.

See Also:
Constant Field Values

DEFAULT_RETRY

private static final int DEFAULT_RETRY
Default retries.

See Also:
Constant Field Values

DEFAULT_TIMEOUT

private static final int DEFAULT_TIMEOUT
Default timeout. Specifies how long (in milliseconds) to block waiting for data from the monitored interface.

See Also:
Constant Field Values

IMAP_START_RESPONSE_PREFIX

private static java.lang.String IMAP_START_RESPONSE_PREFIX
The start of the initial banner received from the server


IMAP_LOGOUT_REQUEST

private static java.lang.String IMAP_LOGOUT_REQUEST
The LOGOUT request sent to the server to close the connection


IMAP_BYE_RESPONSE_PREFIX

private static java.lang.String IMAP_BYE_RESPONSE_PREFIX
The BYE response received from the server in response to the logout


IMAP_LOGOUT_RESPONSE_PREFIX

private static java.lang.String IMAP_LOGOUT_RESPONSE_PREFIX
The LOGOUT response received from the server in response to the logout

Constructor Detail

ImapMonitor

public ImapMonitor()
Method Detail

poll

public int poll(NetworkInterface iface,
                java.util.Map parameters,
                Package pkg)

Poll the specified address for IMAP service availability.

During the poll an attempt is made to connect on the specified port (by default TCP port 143). If the connection request is successful, the banner line generated by the interface is parsed and if it starts with a '* OK , it indicates that we are talking to an IMAP server and we continue. Next, a 'LOGOUT' command is sent to the interface. Again the response is parsed and the response is verified to see that we get a '* OK'. If the interface's response is valid we set the service status to SERVICE_AVAILABLE and return.

Parameters:
iface - The network interface to test the service on.
parameters - The package parameters (timeout, retry, etc...) to be used for this poll.
Returns:
The availibility of the interface and if a transition event should be supressed.
See Also:
ServiceMonitor.SURPRESS_EVENT_MASK, ServiceMonitor.SERVICE_AVAILABLE, ServiceMonitor.SERVICE_UNAVAILABLE

OpenNMS API 1.2.3

Generated by eevans on May 29 2005 2015.