wt.lifecycle
Class LifeCycleTemplateNameCache
java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
wt.util.RMIServer
wt.cache.CacheManager
wt.lifecycle.LifeCycleTemplateNameCache
- All Implemented Interfaces:
- CacheServer, Remote, Serializable, Unreferenced
- public class LifeCycleTemplateNameCache
- extends CacheManager
This class implements cache service to store QuerySpec of all Life Cycle template, based on the name of the template.
It follows the 2-level cache paradigm. Creation and updates to Life Cycle templates
objects must be communicated to the cache by the Life Cycle service.
- See Also:
- Serialized Form
Method Summary |
Object |
get(Object key)
Key is expected to be an ObjectIdentifier or LifeCycleNameKey
The return Object is a Persistable. |
int |
getDefaultSize()
Get desired size of this cache. |
protected void |
putEntry(Object key,
Object value)
Protected method which allows subclasses of CacheManager to
take some action when a new entry is being put into the local cache. |
protected void |
removeEntry(Object key)
Protected method which allows subclasses of CacheManager to
take some action when a entry is being removed from the local cache. |
private void |
reportCacheStats()
|
void |
reset()
Reset local cache after master reconnect. |
Methods inherited from class wt.cache.CacheManager |
checkAccess, getDefaultName, getEntry, isCacheHost, overflow, ping, put, putEntry, reference, registerSlave, remove, remove, removeEntry, unreferenced, update, updateEntry, updateEntry |
Methods inherited from class wt.util.RMIServer |
clone, exportObject, exportObject, exportObject, getClientSocketFactory, getPort, getServerSocketFactory, getStub, isHostInList, isLocalHost, setPort, writeReplace |
VERBOSE
protected static boolean VERBOSE
STACKTRACE
protected static boolean STACKTRACE
cacheSummaryInterval
private static int cacheSummaryInterval
cacheHits
private static int cacheHits
names
Cache names
persistables
Cache persistables
LifeCycleTemplateNameCache
public LifeCycleTemplateNameCache()
throws RemoteException
- Contruct a LifeCycleTemplateName cache.
get
public Object get(Object key)
- Key is expected to be an ObjectIdentifier or LifeCycleNameKey
The return Object is a Persistable.
- Overrides:
get
in class CacheManager
- Parameters:
key
- the key object
- Returns:
- the corresponding cached object or null if not in cache
putEntry
protected void putEntry(Object key,
Object value)
- Description copied from class:
CacheManager
- Protected method which allows subclasses of CacheManager to
take some action when a new entry is being put into the local cache.
This method is invoked to put the entry in the local cache as a result
of a local
put
call or a call forwarded from a slave cache
or when a local get
call downloads the entry from a master cache.
If this cache has a master cache, the put
call will already
be forwarded to the master before this method is invoked. Slave caches
will be notified to remove their entries after this method returns.
This method must not cause a recursive put
call.
Supported API: true
- Overrides:
putEntry
in class CacheManager
- Parameters:
key
- the key objectvalue
- the value object
removeEntry
protected void removeEntry(Object key)
- Description copied from class:
CacheManager
- Protected method which allows subclasses of CacheManager to
take some action when a entry is being removed from the local cache.
This method is invoked to remove the entry in the local cache as a result
of a local
remove
call or a call forwarded from a master cache.
If this cache has a master cache, the remove
call will already
be forwarded to the master before this method is invoked. Slave caches
will be notified to remove their entries after this method returns.
This method must not cause a recursive remove
call.
This method is not called when entries are being removed by the overflow
or reset
methods.
Supported API: true
- Overrides:
removeEntry
in class CacheManager
- Parameters:
key
- the key object (null = clear entire cache)
reportCacheStats
private void reportCacheStats()
reset
public void reset()
throws RemoteException
- Description copied from class:
CacheManager
- Reset local cache after master reconnect.
Called after recovery from communication failure when a connection to a
new master has been established. The current cache contents are cleared
and the local cache is registered as a slave of the new master.
NOTE: This may be called as a result of calling other cache updating operations
since that is when the disconnect and reconnect may take place. When this
happens, this method is called before the other methods return.
Supported API: true
- Overrides:
reset
in class CacheManager
- Throws:
RemoteException
getDefaultSize
public int getDefaultSize()
- Description copied from class:
CacheManager
- Get desired size of this cache.
This method attemps to find a size property called
wt.cache.size.CacheName
where cacheName
is the name of this cache. Subclasses can override this
method to control cache size in some other way. If no property is found, the default
size is 100.
Supported API: true
- Overrides:
getDefaultSize
in class CacheManager