public abstract class RMICacheManagerPeerProvider extends java.lang.Object implements CacheManagerPeerProvider
Modifier and Type | Field and Description |
---|---|
protected CacheManager |
cacheManager
The CacheManager this peer provider is associated with.
|
private static org.slf4j.Logger |
LOG |
protected java.util.Map |
peerUrls
Contains a RMI URLs of the form: "//" + hostName + ":" + port + "/" + cacheName;
|
Constructor and Description |
---|
RMICacheManagerPeerProvider()
Empty constructor
|
RMICacheManagerPeerProvider(CacheManager cacheManager)
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
dispose()
Providers may be doing all sorts of exotic things and need to be able to clean up on dispose.
|
(package private) static java.lang.String |
extractCacheName(java.lang.String rmiUrl)
Gets the cache name out of the url
|
CacheManager |
getCacheManager()
The cacheManager this provider is bound to
|
java.lang.String |
getScheme()
The replication scheme.
|
abstract void |
init()
Notifies providers to initialise themselves.
|
abstract java.util.List |
listRemoteCachePeers(Ehcache cache) |
CachePeer |
lookupRemoteCachePeer(java.lang.String url)
The use of one-time registry creation and Naming.rebind should mean we can create as many listeneres as we like.
|
abstract void |
registerPeer(java.lang.String rmiUrl)
Register a new peer
|
protected abstract boolean |
stale(java.util.Date date)
Whether the entry should be considered stale.
|
void |
unregisterPeer(java.lang.String rmiUrl)
Unregisters a peer
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getTimeForClusterToForm
private static final org.slf4j.Logger LOG
protected final java.util.Map peerUrls
protected CacheManager cacheManager
public RMICacheManagerPeerProvider(CacheManager cacheManager)
cacheManager
- public RMICacheManagerPeerProvider()
public abstract void init()
init
in interface CacheManagerPeerProvider
public abstract void registerPeer(java.lang.String rmiUrl)
registerPeer
in interface CacheManagerPeerProvider
rmiUrl
- static java.lang.String extractCacheName(java.lang.String rmiUrl)
rmiUrl
- public final void unregisterPeer(java.lang.String rmiUrl)
unregisterPeer
in interface CacheManagerPeerProvider
rmiUrl
- public abstract java.util.List listRemoteCachePeers(Ehcache cache) throws CacheException
listRemoteCachePeers
in interface CacheManagerPeerProvider
CachePeer
peers for the given cache, excluding the local peer.CacheException
protected abstract boolean stale(java.util.Date date)
date
- the date the entry was createdpublic CachePeer lookupRemoteCachePeer(java.lang.String url) throws java.net.MalformedURLException, java.rmi.NotBoundException, java.rmi.RemoteException
java.net.MalformedURLException
java.rmi.NotBoundException
java.rmi.RemoteException
public void dispose() throws CacheException
dispose
in interface CacheManagerPeerProvider
CacheException
public final CacheManager getCacheManager()
public java.lang.String getScheme()
CacheReplicator
should lookup
the provider for its scheme type during replication. Similarly a BootstrapCacheLoader
should also look up the provider for its scheme.
getScheme
in interface CacheManagerPeerProvider