org.apache.jcs.auxiliary.remote.server
Class RemoteCacheClusterMonitor

java.lang.Object
  extended byorg.apache.jcs.auxiliary.remote.server.RemoteCacheClusterMonitor
All Implemented Interfaces:
java.lang.Runnable

public class RemoteCacheClusterMonitor
extends java.lang.Object
implements java.lang.Runnable

Used to monitor and repair any failed connection for the remote cache service. By default the monitor operates in a failure driven mode. That is, it goes into a wait state until there is an error. Upon the notification of a connection error, the monitor changes to operate in a time driven mode. That is, it attempts to recover the connections on a periodic basis. When all failed connections are restored, it changes back to the failure driven mode.

Author:
asmuts

Field Summary
private  boolean alright
           
private static long idlePeriod
           
private static RemoteCacheClusterMonitor instance
           
private static org.apache.commons.logging.Log log
           
 
Constructor Summary
private RemoteCacheClusterMonitor()
          Constructor for the RemoteCacheClusterMonitor object
 
Method Summary
private  void bad()
          Sets the "alright" flag to false in a critial section.
(package private) static RemoteCacheClusterMonitor getInstance()
          Returns the singleton instance;
 void notifyError()
          Notifies the cache monitor that an error occurred, and kicks off the error recovery process.
 void run()
          Main processing method for the RemoteCacheClusterMonitor object
static void setIdlePeriod(long idlePeriod)
          Configures the idle period between repairs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.apache.commons.logging.Log log

instance

private static RemoteCacheClusterMonitor instance

idlePeriod

private static long idlePeriod

alright

private boolean alright
Constructor Detail

RemoteCacheClusterMonitor

private RemoteCacheClusterMonitor()
Constructor for the RemoteCacheClusterMonitor object

Method Detail

setIdlePeriod

public static void setIdlePeriod(long idlePeriod)
Configures the idle period between repairs.

Parameters:
idlePeriod - The new idlePeriod value

getInstance

static RemoteCacheClusterMonitor getInstance()
Returns the singleton instance;

Returns:
The instance value

notifyError

public void notifyError()
Notifies the cache monitor that an error occurred, and kicks off the error recovery process.


run

public void run()
Main processing method for the RemoteCacheClusterMonitor object

Specified by:
run in interface java.lang.Runnable

bad

private void bad()
Sets the "alright" flag to false in a critial section.