wt.cache
Class Messenger
java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
wt.util.RMIServer
wt.cache.CacheManager
wt.cache.Messenger
- All Implemented Interfaces:
- CacheServer, Remote, Serializable, Unreferenced
- Direct Known Subclasses:
- ContainerPathCache.PathToContainerMessenger, DefaultFolderCache.FolderCacheMessenger, DefaultFolderCache.WindchillPDMMessenger, OrganizationCache.DomainToOrgMessenger, OrganizationCache.OrgToContainerMessenger, ReferenceCache.ObjectReferenceCacheMessenger, SeriesCache.ContextMessenger
- public abstract class Messenger
- extends CacheManager
Provides a CacheManager that is only used for message passing.
Objects that want to be notified of messages can register a
MessageReceiver
with the Messenger
.
Objects that want to send messages should use the
sendMessage(Object)
API.
Supported API: false
Extendable: false
- See Also:
- Serialized Form
Nested Class Summary |
static interface |
Messenger.MessageReceiver
Implementors can register with a Messenger
to receive messages. |
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 |
EMPTY_RECEIVERS
private static final Messenger.MessageReceiver[] EMPTY_RECEIVERS
receivers
private volatile Messenger.MessageReceiver[] receivers
Messenger
public Messenger()
throws RemoteException
sendMessage
public void sendMessage(Object msg)
- Notify remote caches of the given message.
This will end up calling removeEntry on the remote caches.
getDefaultSize
public int getDefaultSize()
- Overridden to return zero since the Messenger stores no mappings
- Overrides:
getDefaultSize
in class CacheManager
putEntry
protected void putEntry(Object key,
Object value)
- Overridden to do nothing since the Messenger stores no mappings
- Overrides:
putEntry
in class CacheManager
- Parameters:
key
- the key objectvalue
- the value object
removeEntry
protected void removeEntry(Object key)
- Notifies registered receivers of the given message.
- Overrides:
removeEntry
in class CacheManager
- Parameters:
key
- the key object (null = clear entire cache)
reset
public final void reset()
throws RemoteException
- To clear the cache, callers should call remove(null)
not reset
- Overrides:
reset
in class CacheManager
- Throws:
RemoteException
addReceiver
public void addReceiver(Messenger.MessageReceiver receiver)
removeReceiver
public void removeReceiver(Messenger.MessageReceiver receiver)