org.realtor.rets.util
Class HealthCheck

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--org.realtor.rets.util.HealthCheck
All Implemented Interfaces:
java.lang.Runnable

public class HealthCheck
extends java.lang.Thread

A class that checks the status of the supplied url and sends a supplied notification to the supplied email addresses if there is any kind of failure.

Version:
1.0
Author:
Eric Glass

Nested Class Summary
private  class HealthCheck.EMailAuthenticator
          This object is used to provide the Authenticator object required by JavaMail when it connects to a SMTP mail server that is secured.
private  class HealthCheck.Listener
          This object is used to listen to a port for a stop request.
 
Field Summary
private  java.lang.String _addrs
           
private  int _checkingCnt
           
private  boolean _failureHasAccured
           
private  java.lang.String _from
           
private  int _hcPort
           
private  int _mins
           
private  java.lang.String _msg
           
private  java.lang.String _smtpHost
           
private  java.lang.String _smtpPassword
           
private  java.lang.String _smtpUser
           
private  boolean _startedChecking
           
private  java.lang.String _url
           
static java.lang.String PROPERTIES_FILE
           
static java.lang.String PROPERTY_CHECK_EVERY_MINUTES
           
static java.lang.String PROPERTY_CHECK_URL
           
static java.lang.String PROPERTY_FAILURE_EMAIL_ADDRESSES
           
static java.lang.String PROPERTY_FAILURE_MESSAGE
           
static java.lang.String PROPERTY_FROM_EMAIL_ADDRESS
           
static java.lang.String PROPERTY_HEALTH_CHECK_PORT
           
static java.lang.String PROPERTY_SMTP_AUTHENT_PASSWORD
           
static java.lang.String PROPERTY_SMTP_AUTHENT_USER
           
static java.lang.String PROPERTY_SMTP_HOST_ADDRESS
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
HealthCheck()
          Constructor for HealthCheck.
HealthCheck(java.lang.String name)
          Constructor for HealthCheck.
 
Method Summary
private  void getProperties()
          Get the properties needed by HealthCheck.
static void main(java.lang.String[] args)
          Method used to test this class.
 void run()
          Method used to run the health check process in a seperate thread.
private  boolean sendEmail(java.lang.String address)
          Method used to send an email message through a SMTP host to an address.
 boolean startChecker()
          Method used to start the health checker thread.
static void startHealthCheck(java.lang.String[] args)
          Method used to start the health check process.
 void stopChecker()
          Method used to stop the health checker thread.
static void stopHealthCheck(java.lang.String[] args)
          Method used to stop the health check process.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROPERTIES_FILE

public static final java.lang.String PROPERTIES_FILE
See Also:
Constant Field Values

PROPERTY_CHECK_URL

public static final java.lang.String PROPERTY_CHECK_URL
See Also:
Constant Field Values

PROPERTY_CHECK_EVERY_MINUTES

public static final java.lang.String PROPERTY_CHECK_EVERY_MINUTES
See Also:
Constant Field Values

PROPERTY_SMTP_HOST_ADDRESS

public static final java.lang.String PROPERTY_SMTP_HOST_ADDRESS
See Also:
Constant Field Values

PROPERTY_SMTP_AUTHENT_USER

public static final java.lang.String PROPERTY_SMTP_AUTHENT_USER
See Also:
Constant Field Values

PROPERTY_SMTP_AUTHENT_PASSWORD

public static final java.lang.String PROPERTY_SMTP_AUTHENT_PASSWORD
See Also:
Constant Field Values

PROPERTY_FROM_EMAIL_ADDRESS

public static final java.lang.String PROPERTY_FROM_EMAIL_ADDRESS
See Also:
Constant Field Values

PROPERTY_FAILURE_EMAIL_ADDRESSES

public static final java.lang.String PROPERTY_FAILURE_EMAIL_ADDRESSES
See Also:
Constant Field Values

PROPERTY_FAILURE_MESSAGE

public static final java.lang.String PROPERTY_FAILURE_MESSAGE
See Also:
Constant Field Values

PROPERTY_HEALTH_CHECK_PORT

public static final java.lang.String PROPERTY_HEALTH_CHECK_PORT
See Also:
Constant Field Values

_url

private java.lang.String _url

_mins

private int _mins

_smtpHost

private java.lang.String _smtpHost

_smtpUser

private java.lang.String _smtpUser

_smtpPassword

private java.lang.String _smtpPassword

_from

private java.lang.String _from

_addrs

private java.lang.String _addrs

_msg

private java.lang.String _msg

_failureHasAccured

private boolean _failureHasAccured

_startedChecking

private boolean _startedChecking

_checkingCnt

private int _checkingCnt

_hcPort

private int _hcPort
Constructor Detail

HealthCheck

public HealthCheck()
Constructor for HealthCheck.


HealthCheck

public HealthCheck(java.lang.String name)
Constructor for HealthCheck.

Method Detail

getProperties

private void getProperties()
Get the properties needed by HealthCheck.


startHealthCheck

public static void startHealthCheck(java.lang.String[] args)
Method used to start the health check process.


startChecker

public boolean startChecker()
Method used to start the health checker thread.

Returns:
boolean - True if the health checker thread was started properly; otherwise it will be False.

stopHealthCheck

public static void stopHealthCheck(java.lang.String[] args)
Method used to stop the health check process.


stopChecker

public void stopChecker()
Method used to stop the health checker thread.


run

public void run()
Method used to run the health check process in a seperate thread.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

sendEmail

private boolean sendEmail(java.lang.String address)
Method used to send an email message through a SMTP host to an address.

Returns:
boolean - True if the message was sent successfully, otherwise False.

main

public static void main(java.lang.String[] args)
Method used to test this class.



Copyright © 2002 National Association of Realtors - All Rights Reserved.