Class RemoteCacheFailoverRunner<K,V>

java.lang.Object
java.lang.Thread
org.apache.commons.jcs3.auxiliary.AbstractAuxiliaryCacheMonitor
org.apache.commons.jcs3.auxiliary.remote.RemoteCacheFailoverRunner<K,V>
All Implemented Interfaces:
Runnable

Deprecated.
Functionality moved to RemoteCacheNoWaitFacade
The RemoteCacheFailoverRunner tries to establish a connection with a failover server, if any are defined. Once a failover connection is made, it will attempt to replace the failover with the primary remote server.

It works by switching out the RemoteCacheNoWait inside the Facade.

Client (i.e.) the CompositeCache has reference to a RemoteCacheNoWaitFacade. This facade is created by the RemoteCacheFactory. The factory maintains a set of managers, one for each remote server. Typically, there will only be one manager.

If you use multiple remote servers, you may want to set one or more as failovers. If a local cache cannot connect to the primary server, or looses its connection to the primary server, it will attempt to restore that Connection in the background. If failovers are defined, the Failover runner will try to connect to a failover until the primary is restored.

  • Constructor Details

    • RemoteCacheFailoverRunner

      Deprecated.
      Constructor for the RemoteCacheFailoverRunner object. This allows the FailoverRunner to modify the facade that the CompositeCache references.
      Parameters:
      facade - the facade the CompositeCache talks to.
      cacheFactory - the cache factory instance
  • Method Details

    • dispose

      protected void dispose()
      Deprecated.
      Clean up all resources before shutdown
      Specified by:
      dispose in class AbstractAuxiliaryCacheMonitor
    • doWork

      protected void doWork()
      Deprecated.
      do actual work
      Specified by:
      doWork in class AbstractAuxiliaryCacheMonitor
    • run

      public void run()
      Deprecated.
      Main processing method for the RemoteCacheFailoverRunner object.

      If we do not have a connection with any failover server, this will try to connect one at a time. If no connection can be made, it goes to sleep for a while (20 seconds).

      Once a connection with a failover is made, we will try to reconnect to the primary server.

      The primary server is the first server defines in the FailoverServers list.

      Specified by:
      run in interface Runnable
      Overrides:
      run in class AbstractAuxiliaryCacheMonitor