|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.ehcache.store.XATransactionalStore
public class XATransactionalStore
A transaction aware store that wraps the actual Store. It will provide proper READ_COMMITED transaction isolation. It does so by queuing write operations on the cache. These will eventually be executed at transaction commit time, or discarded in case of rollback.
Constructor Summary | |
---|---|
XATransactionalStore(EhcacheXAResource xaResource)
Constructor |
Method Summary | |
---|---|
boolean |
bufferFull()
Non transactional Some store types, such as the disk stores can fill their write buffers if puts come in too fast. |
boolean |
containsKey(java.lang.Object key)
A check to see if a key is in the Store. |
void |
dispose()
Non transactional |
void |
expireElements()
Non transactional Expire all elements. |
void |
flush()
Non transactional Flush elements to persistent store. |
Element |
get(java.lang.Object key)
Gets an item from the cache. |
Policy |
getEvictionPolicy()
Non transactional |
java.lang.Object |
getInternalContext()
Non transactional This should not be used, and will generally return null |
java.lang.Object[] |
getKeyArray()
Gets an Array of the keys for all elements in the disk store. |
Element |
getQuiet(java.lang.Object key)
Gets an Element from the Store, without updating statistics |
int |
getSize()
TransactionContext impacted size of the store |
long |
getSizeInBytes()
Gets the size of the store, in bytes. |
Status |
getStatus()
Non transactional |
int |
getTerracottaClusteredSize()
Returns the current Terracotta clustered store size |
boolean |
isCacheCoherent()
Non transactional Indicates whether this store provides a coherent view of all the elements in a cache. |
boolean |
isClusterCoherent()
Returns true if the cache is in coherent mode cluster-wide. |
boolean |
isNodeCoherent()
Returns true if the cache is in coherent mode for the current node. |
boolean |
put(Element element)
Puts an item into the store. |
boolean |
putWithWriter(Element element,
CacheWriterManager writerManager)
XATransactionalStore to put including to the underlying data store. |
Element |
remove(java.lang.Object key)
Removes an item from the cache. |
void |
removeAll()
Remove all of the elements from the store. |
Element |
removeWithWriter(java.lang.Object key,
CacheWriterManager writerManager)
XATransactionalStore to remove including from the underlying data store. |
void |
setEvictionPolicy(Policy policy)
Non transactional Sets the eviction policy strategy. |
void |
setNodeCoherent(boolean coherent)
Sets the cache in coherent or incoherent mode for the current node depending on the parameter. |
void |
waitUntilClusterCoherent()
This method waits until the cache is in coherent mode in all the connected nodes. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public XATransactionalStore(EhcacheXAResource xaResource)
xaResource
- the xaResource wrapping the Cache this store is backing upMethod Detail |
---|
public boolean put(Element element) throws CacheException
put
in interface Store
CacheException
public boolean putWithWriter(Element element, CacheWriterManager writerManager) throws CacheException
CacheWriterManager.put(net.sf.ehcache.Element)
will be held back
until commit time!
putWithWriter
in interface Store
element
- the element to add to the storewriterManager
- will only work properly with WriteThroughManager
CacheException
public Element get(java.lang.Object key)
get
in interface Store
public Element getQuiet(java.lang.Object key)
Element
from the Store, without updating statistics
getQuiet
in interface Store
public java.lang.Object[] getKeyArray()
getKeyArray
in interface Store
Serializable
keyspublic Element remove(java.lang.Object key)
remove
in interface Store
public Element removeWithWriter(java.lang.Object key, CacheWriterManager writerManager) throws CacheException
CacheWriterManager.remove(net.sf.ehcache.CacheEntry)
will be not held back
until commit time!
removeWithWriter
in interface Store
key
- the key to removewriterManager
- will only work properly with WriteThroughManager
CacheException
public void removeAll() throws CacheException
CacheEventListener
s they are notified of the expiry or removal
of the Element
as each is removed.
removeAll
in interface Store
CacheException
public void dispose()
Prepares for shutdown.
dispose
in interface Store
public int getSize()
getSize
in interface Store
public int getTerracottaClusteredSize()
getTerracottaClusteredSize
in interface Store
public long getSizeInBytes()
getSizeInBytes
in interface Store
public Status getStatus()
Returns the cache status.
getStatus
in interface Store
public boolean containsKey(java.lang.Object key)
containsKey
in interface Store
key
- The Element key
public void expireElements()
expireElements
in interface Store
public void flush() throws java.io.IOException
flush
in interface Store
java.io.IOException
- if any IO error occurspublic boolean bufferFull()
bufferFull
in interface Store
public Policy getEvictionPolicy()
getEvictionPolicy
in interface Store
Store.setEvictionPolicy(Policy)
public void setEvictionPolicy(Policy policy)
setEvictionPolicy
in interface Store
policy
- the new policypublic java.lang.Object getInternalContext()
getInternalContext
in interface Store
public boolean isCacheCoherent()
Store.isClusterCoherent()
(introduced since 2.0)
Use Store.isNodeCoherent()
to find out if the cache is coherent in the current node in the cluster
isCacheCoherent
in interface Store
true
if the store is coherent; or false
if the
store potentially splits the cache storage with another store or
isn't internally coherentpublic boolean isClusterCoherent()
isClusterCoherent
in interface Store
public boolean isNodeCoherent()
isNodeCoherent
in interface Store
public void setNodeCoherent(boolean coherent)
setNodeCoherent(true)
when the cache is already in coherent mode or
calling setNodeCoherent(false)
when already in incoherent mode will be a no-op.
It applies to coherent clustering mechanisms only e.g. Terracotta
setNodeCoherent
in interface Store
coherent
- true transitions to coherent mode, false to incoherent modepublic void waitUntilClusterCoherent()
waitUntilClusterCoherent
in interface Store
|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |