Class ImapMonitor
- java.lang.Object
-
- org.opennms.netmgt.poller.support.AbstractServiceMonitor
-
- org.opennms.netmgt.poller.monitors.ImapMonitor
-
- All Implemented Interfaces:
ServiceMonitor
- Direct Known Subclasses:
ImapsMonitor
public class ImapMonitor extends AbstractServiceMonitor
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 , Tarus Balog , Sowmya Nataraj , Mike Davidson , OpenNMS , Tarus Balog , Sowmya Nataraj , Mike Davidson , OpenNMS , Tarus Balog , Sowmya Nataraj , Mike Davidson , OpenNMS
-
-
Constructor Summary
Constructors Constructor Description ImapMonitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
determinePort(java.util.Map<java.lang.String,java.lang.Object> parameters)
protected SocketWrapper
getSocketWrapper()
wrapSocketPollStatus
poll(MonitoredService svc, java.util.Map<java.lang.String,java.lang.Object> parameters)
This method is the heart of the plug-in monitor.-
Methods inherited from class org.opennms.netmgt.poller.support.AbstractServiceMonitor
getEffectiveLocation, getKeyedBoolean, getKeyedInstance, getKeyedInteger, getKeyedLong, getKeyedObject, getKeyedString, getRuntimeAttributes, getServiceProperties
-
-
-
-
Method Detail
-
poll
public PollStatus poll(MonitoredService svc, java.util.Map<java.lang.String,java.lang.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 service 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.
NOTE: This method may be invoked on a Minion, in which case certain bean and facilities will not be available. If any state related information is required such as agent related configuration, it should retrieved by the
ServiceMonitor.getRuntimeAttributes(MonitoredService, Map)
.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:
svc
- Includes details about to the service being monitored.parameters
- Includes the service parameters defined in poller-configuration.xml and those returned byServiceMonitor.getRuntimeAttributes(MonitoredService, Map)
.- Returns:
- The availability of the interface and if a transition event should be suppressed.
- See Also:
PollStatus.SERVICE_AVAILABLE
,PollStatus.SERVICE_UNAVAILABLE
,PollStatus.SERVICE_AVAILABLE
,PollStatus.SERVICE_UNAVAILABLE
-
determinePort
protected int determinePort(java.util.Map<java.lang.String,java.lang.Object> parameters)
-
getSocketWrapper
protected SocketWrapper getSocketWrapper()
wrapSocket
- Parameters:
socket
- aSocket
object.- Returns:
- a
Socket
object. - Throws:
java.io.IOException
- if any.
-
-