|
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 up| Method Detail |
|---|
public boolean put(Element element)
throws CacheException
put in interface StoreCacheException
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 Storeelement - the element to add to the storewriterManager - will only work properly with WriteThroughManager
CacheExceptionpublic Element get(java.lang.Object key)
get in interface Storepublic Element getQuiet(java.lang.Object key)
Element from the Store, without updating statistics
getQuiet in interface Storepublic java.lang.Object[] getKeyArray()
getKeyArray in interface StoreSerializable 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 Storekey - the key to removewriterManager - will only work properly with WriteThroughManager
CacheException
public void removeAll()
throws CacheException
CacheEventListeners they are notified of the expiry or removal
of the Element as each is removed.
removeAll in interface StoreCacheExceptionpublic void dispose()
Prepares for shutdown.
dispose in interface Storepublic int getSize()
getSize in interface Storepublic int getTerracottaClusteredSize()
getTerracottaClusteredSize in interface Storepublic long getSizeInBytes()
getSizeInBytes in interface Storepublic Status getStatus()
Returns the cache status.
getStatus in interface Storepublic boolean containsKey(java.lang.Object key)
containsKey in interface Storekey - The Element key
public void expireElements()
expireElements in interface Store
public void flush()
throws java.io.IOException
flush in interface Storejava.io.IOException - if any IO error occurspublic boolean bufferFull()
bufferFull in interface Storepublic Policy getEvictionPolicy()
getEvictionPolicy in interface StoreStore.setEvictionPolicy(Policy)public void setEvictionPolicy(Policy policy)
setEvictionPolicy in interface Storepolicy - the new policypublic java.lang.Object getInternalContext()
getInternalContext in interface Storepublic 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 Storetrue 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 Storepublic boolean isNodeCoherent()
isNodeCoherent in interface Storepublic 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 Storecoherent - 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 | |||||||||