public class RemoteCacheFailoverRunner<K,V> extends Object implements Runnable
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 and Description |
---|
RemoteCacheFailoverRunner(RemoteCacheNoWaitFacade<K,V> facade,
ICompositeCacheManager cacheMgr,
ICacheEventLogger cacheEventLogger,
IElementSerializer elementSerializer)
Constructor for the RemoteCacheFailoverRunner object.
|
Modifier and Type | Method and Description |
---|---|
void |
notifyError()
Notifies the cache monitor that an error occurred, and kicks off the
error recovery process.
|
void |
run()
Main processing method for the RemoteCacheFailoverRunner object.
|
public RemoteCacheFailoverRunner(RemoteCacheNoWaitFacade<K,V> facade, ICompositeCacheManager cacheMgr, ICacheEventLogger cacheEventLogger, IElementSerializer elementSerializer)
facade
- the facade the CompositeCache talks to.cacheMgr
- cacheEventLogger
- elementSerializer
- public void notifyError()
public void run()
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.
Copyright © 2002–2017 The Apache Software Foundation. All rights reserved.