public class TransactionalRMICachePeer extends RMICachePeer
CachePeer supporting transactions.ref| Constructor and Description |
|---|
TransactionalRMICachePeer(Ehcache cache,
String hostName,
Integer rmiRegistryPort,
Integer remoteObjectPort,
Integer socketTimeoutMillis)
Construct a new remote peer supporting transactions
|
| Modifier and Type | Method and Description |
|---|---|
List |
getElements(List keys)
Gets a list of elements from the cache, for a list of keys, without updating Element statistics.
|
List |
getKeys()
Returns a list of all elements in the cache, whether or not they are expired.
|
Element |
getQuiet(Serializable key)
Gets an element from the cache, without updating Element statistics.
|
void |
put(Element element)
Puts an Element into the underlying cache without notifying listeners or updating statistics.
|
boolean |
remove(Serializable key)
Removes an Element from the underlying cache without notifying listeners or updating statistics.
|
void |
removeAll()
Removes all cached items.
|
void |
send(List eventMessages)
Send the cache peer with an ordered list of
EventMessages |
getGuid, getName, getUrl, getUrlBase, toStringclone, exportObject, exportObject, exportObject, unexportObjectgetClientHost, getLog, setLogequals, getRef, hashCode, toStubpublic TransactionalRMICachePeer(Ehcache cache, String hostName, Integer rmiRegistryPort, Integer remoteObjectPort, Integer socketTimeoutMillis) throws RemoteException
cache - The cache attached to the peerhostName - The host name the peer is running on.rmiRegistryPort - The port number on which the RMI Registry listens. Should be an unused port in
the range 1025 - 65536remoteObjectPort - the port number on which the remote objects bound in the registry receive calls.
This defaults to a free port if not specified.
Should be an unused port in the range 1025 - 65536socketTimeoutMillis - RemoteExceptionpublic List getKeys() throws RemoteException
RMICachePeerThe returned keys are unique and can be considered a set.
The List returned is not live. It is a copy.
The time taken is O(n). On a single cpu 1.8Ghz P4, approximately 8ms is required for each 1000 entries.
getKeys in interface CachePeergetKeys in class RMICachePeerObject keysRemoteExceptionpublic Element getQuiet(Serializable key) throws RemoteException
RMICachePeergetQuiet in interface CachePeergetQuiet in class RMICachePeerkey - a serializable valueRemoteExceptionpublic List getElements(List keys) throws RemoteException
RMICachePeerCache statistics are still updated.
Callers should ideally first call this method with a small list of keys to gauge the size of a typical Element. Then a calculation can be made of the right number to request each time so as to optimise network performance and not cause an OutOfMemory error on this Cache.
getElements in interface CachePeergetElements in class RMICachePeerkeys - a list of serializable values which represent keysRemoteExceptionpublic void put(Element element) throws RemoteException, IllegalArgumentException, IllegalStateException
RMICachePeerput in interface CachePeerput in class RMICachePeerIllegalArgumentException - if the element is nullIllegalStateException - if the cache is not Status.STATUS_ALIVERemoteExceptionpublic boolean remove(Serializable key) throws RemoteException, IllegalStateException
RMICachePeerremove in interface CachePeerremove in class RMICachePeerIllegalStateException - if the cache is not Status.STATUS_ALIVERemoteExceptionpublic void removeAll()
throws RemoteException,
IllegalStateException
RMICachePeerremoveAll in interface CachePeerremoveAll in class RMICachePeerIllegalStateException - if the cache is not Status.STATUS_ALIVERemoteExceptionpublic void send(List eventMessages) throws RemoteException
RMICachePeerEventMessages
This enables multiple messages to be delivered in one network invocation.
send in interface CachePeersend in class RMICachePeereventMessages - a list of type EventMessageRemoteExceptionCopyright 2001-2021, Terracotta, Inc.