wt.project
Class ProjectCache
java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
wt.util.RMIServer
wt.cache.CacheManager
wt.project.ProjectCache
- All Implemented Interfaces:
- CacheServer, Remote, Serializable, Unreferenced
- public class ProjectCache
- extends CacheManager
This class implements a Project cache service. It follows the 2-level cache paradigm.
Creation and updates to Projects must be communicated to the cache by the
Services manager.
- See Also:
- Serialized Form
Constructor Summary |
ProjectCache()
Do not directly invoke this constructor! Use getProjectCache instead. |
Method Summary |
protected void |
clear()
|
int |
getDefaultSize()
Get desired size of this cache. |
Enumeration |
getEntries()
Return a sorted enumeration of all ProjectReferences |
static ProjectCache |
getProjectCache()
Contruct a new Project cache. |
static void |
main(String[] args)
|
protected void |
populateCache()
|
void |
Print()
|
void |
putEntry(Object key,
Object value)
Overrides CacheManager.putEntry to do nothing so that no entries are
added to the wt.util.Cache object contained in CacheManager. |
protected void |
removeEntry(Object target)
Simply clear local cache when signalled. |
void |
reset()
Method called when connection to master cache is broken and recovered
indicating that a notification from another project cache might have been missed. |
Methods inherited from class wt.cache.CacheManager |
checkAccess, get, 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 |
versionID
private static final String versionID
- See Also:
- Constant Field Values
rNames
private static Vector rNames
projectCache
private static ProjectCache projectCache
VERBOSE
private static final boolean VERBOSE
CACHESIZE
private static int CACHESIZE
ProjectCache
public ProjectCache()
throws RemoteException
- Do not directly invoke this constructor! Use getProjectCache instead.
The constructor is public so that the ServerManager can create an instance of this
class for use as the master cache.
However, since the master cache is only being used to signal slave caches, we don't
want to construct any of the internal cache objects.
getProjectCache
public static ProjectCache getProjectCache()
- Contruct a new Project cache.
removeEntry
protected void removeEntry(Object target)
- Simply clear local cache when signalled. Will be repopulated on subsequent requests
- Overrides:
removeEntry
in class CacheManager
- Parameters:
target
- the key object (null = clear entire cache)
getEntries
public Enumeration getEntries()
throws WTException
- Return a sorted enumeration of all ProjectReferences
- Throws:
WTException
putEntry
public void putEntry(Object key,
Object value)
- Overrides CacheManager.putEntry to do nothing so that no entries are
added to the wt.util.Cache object contained in CacheManager.
- Overrides:
putEntry
in class CacheManager
- Parameters:
key
- the key objectvalue
- the value object
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
populateCache
protected void populateCache()
throws WTException
- Throws:
WTException
clear
protected void clear()
reset
public void reset()
- Method called when connection to master cache is broken and recovered
indicating that a notification from another project cache might have been missed.
The current cache is cleared and reinitialized later.
- Overrides:
reset
in class CacheManager
Print
public void Print()
main
public static void main(String[] args)