public class NonstopAwareEntityRegionAccessStrategy extends Object implements EntityRegionAccessStrategy
EntityRegionAccessStrategy that handles NonStopCacheException using
HibernateNonstopCacheExceptionHandler| Constructor and Description |
|---|
NonstopAwareEntityRegionAccessStrategy(EntityRegionAccessStrategy actualStrategy,
HibernateNonstopCacheExceptionHandler hibernateNonstopExceptionHandler)
Constructor accepting the actual
EntityRegionAccessStrategy and the HibernateNonstopCacheExceptionHandler |
| Modifier and Type | Method and Description |
|---|---|
boolean |
afterInsert(Object key,
Object value,
Object version)
Called after an item has been inserted (after the transaction completes),
instead of calling release().
|
boolean |
afterUpdate(Object key,
Object value,
Object currentVersion,
Object previousVersion,
SoftLock lock)
Called after an item has been updated (after the transaction completes),
instead of calling release().
|
void |
evict(Object key)
Forcibly evict an item from the cache immediately without regard for transaction
isolation.
|
void |
evictAll()
Forcibly evict all items from the cache immediately without regard for transaction
isolation.
|
Object |
get(Object key,
long txTimestamp)
Attempt to retrieve an object from the cache.
|
EntityRegion |
getRegion()
Get the wrapped entity cache region
|
boolean |
insert(Object key,
Object value,
Object version)
Called after an item has been inserted (before the transaction completes),
instead of calling evict().
|
SoftLock |
lockItem(Object key,
Object version)
We are going to attempt to update/delete the keyed object.
|
SoftLock |
lockRegion()
Lock the entire region
|
boolean |
putFromLoad(Object key,
Object value,
long txTimestamp,
Object version)
Attempt to cache an object, after loading from the database.
|
boolean |
putFromLoad(Object key,
Object value,
long txTimestamp,
Object version,
boolean minimalPutOverride)
Attempt to cache an object, after loading from the database, explicitly
specifying the minimalPut behavior.
|
void |
remove(Object key)
Called after an item has become stale (before the transaction completes).
|
void |
removeAll()
Called to evict data from the entire region
|
void |
unlockItem(Object key,
SoftLock lock)
Called when we have finished the attempted update/delete (which may or
may not have been successful), after transaction completion.
|
void |
unlockRegion(SoftLock lock)
Called after we have finished the attempted invalidation of the entire
region
|
boolean |
update(Object key,
Object value,
Object currentVersion,
Object previousVersion)
Called after an item has been updated (before the transaction completes),
instead of calling evict().
|
public NonstopAwareEntityRegionAccessStrategy(EntityRegionAccessStrategy actualStrategy, HibernateNonstopCacheExceptionHandler hibernateNonstopExceptionHandler)
EntityRegionAccessStrategy and the HibernateNonstopCacheExceptionHandleractualStrategy - hibernateNonstopExceptionHandler - public EntityRegion getRegion()
getRegion in interface EntityRegionAccessStrategyEntityRegionAccessStrategy.getRegion()public boolean afterInsert(Object key, Object value, Object version) throws CacheException
afterInsert in interface EntityRegionAccessStrategykey - The item keyvalue - The itemversion - The item's version valueCacheException - Propogated from underlying RegionEntityRegionAccessStrategy.afterInsert(java.lang.Object, java.lang.Object, java.lang.Object)public boolean afterUpdate(Object key, Object value, Object currentVersion, Object previousVersion, SoftLock lock) throws CacheException
afterUpdate in interface EntityRegionAccessStrategykey - The item keyvalue - The itemcurrentVersion - The item's current version valuepreviousVersion - The item's previous version valuelock - The lock previously obtained from RegionAccessStrategy.lockItem(java.lang.Object, java.lang.Object)CacheException - Propogated from underlying RegionEntityRegionAccessStrategy.afterUpdate(java.lang.Object, java.lang.Object, java.lang.Object,
java.lang.Object, org.hibernate.cache.spi.access.SoftLock)public void evict(Object key) throws CacheException
evict in interface RegionAccessStrategykey - The key of the item to removeCacheException - Propogated from underlying RegionRegionAccessStrategy.evict(java.lang.Object)public void evictAll()
throws CacheException
evictAll in interface RegionAccessStrategyCacheException - Propogated from underlying RegionRegionAccessStrategy.evictAll()public Object get(Object key, long txTimestamp) throws CacheException
get in interface RegionAccessStrategykey - The key of the item to be retrieved.txTimestamp - a timestamp prior to the transaction start timeCacheException - Propogated from underlying RegionRegionAccessStrategy.get(java.lang.Object, long)public boolean insert(Object key, Object value, Object version) throws CacheException
insert in interface EntityRegionAccessStrategykey - The item keyvalue - The itemversion - The item's version valueCacheException - Propogated from underlying RegionEntityRegionAccessStrategy.insert(java.lang.Object, java.lang.Object, java.lang.Object)public SoftLock lockItem(Object key, Object version) throws CacheException
RegionAccessStrategy.unlockItem(java.lang.Object, org.hibernate.cache.spi.access.SoftLock), to release the
lock. Concurrency strategies which do not support client-visible
locks may silently return null.lockItem in interface RegionAccessStrategykey - The key of the item to lockversion - The item's current version valueCacheException - Propogated from underlying RegionRegionAccessStrategy.lockItem(java.lang.Object, java.lang.Object)public SoftLock lockRegion() throws CacheException
lockRegion in interface RegionAccessStrategyCacheException - Propogated from underlying RegionRegionAccessStrategy.lockRegion()public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride) throws CacheException
putFromLoad in interface RegionAccessStrategykey - The item keyvalue - The itemtxTimestamp - a timestamp prior to the transaction start timeversion - the item version numberminimalPutOverride - Explicit minimalPut flagCacheException - Propogated from underlying RegionRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object,
boolean)public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version) throws CacheException
putFromLoad in interface RegionAccessStrategykey - The item keyvalue - The itemtxTimestamp - a timestamp prior to the transaction start timeversion - the item version numberCacheException - Propogated from underlying RegionRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object)public void remove(Object key) throws CacheException
remove in interface RegionAccessStrategykey - The key of the item to removeCacheException - Propogated from underlying RegionRegionAccessStrategy.remove(java.lang.Object)public void removeAll()
throws CacheException
removeAll in interface RegionAccessStrategyCacheException - Propogated from underlying RegionRegionAccessStrategy.removeAll()public void unlockItem(Object key, SoftLock lock) throws CacheException
unlockItem in interface RegionAccessStrategykey - The item keylock - The lock previously obtained from RegionAccessStrategy.lockItem(java.lang.Object, java.lang.Object)CacheException - Propogated from underlying RegionRegionAccessStrategy.unlockItem(java.lang.Object, org.hibernate.cache.spi.access.SoftLock)public void unlockRegion(SoftLock lock) throws CacheException
unlockRegion in interface RegionAccessStrategylock - The lock previously obtained from RegionAccessStrategy.lockRegion()CacheException - Propogated from underlying RegionRegionAccessStrategy.unlockRegion(org.hibernate.cache.spi.access.SoftLock)public boolean update(Object key, Object value, Object currentVersion, Object previousVersion) throws CacheException
update in interface EntityRegionAccessStrategykey - The item keyvalue - The itemcurrentVersion - The item's current version valuepreviousVersion - The item's previous version valueCacheException - Propogated from underlying RegionEntityRegionAccessStrategy.update(java.lang.Object, java.lang.Object, java.lang.Object,
java.lang.Object)Copyright © 2001-2013 Red Hat, Inc. All Rights Reserved.