public class TransactionalEhcacheCollectionRegionAccessStrategy extends Object implements CollectionRegionAccessStrategy
Constructor and Description |
---|
TransactionalEhcacheCollectionRegionAccessStrategy(EhcacheCollectionRegion region,
net.sf.ehcache.Ehcache ehcache,
Settings settings)
Construct a new collection region access strategy.
|
Modifier and Type | Method and Description |
---|---|
void |
evict(Object key)
Remove the given mapping without regard to transactional safety
|
void |
evictAll()
Remove all mappings without regard to transactional safety
|
Object |
get(Object key,
long txTimestamp)
Attempt to retrieve an object from the cache.
|
CollectionRegion |
getRegion()
Get the wrapped collection cache region
|
SoftLock |
lockItem(Object key,
Object version)
We are going to attempt to update/delete the keyed object.
|
SoftLock |
lockRegion()
Region locks are not supported.
|
boolean |
putFromLoad(Object key,
Object value,
long txTimestamp,
Object version)
This method is a placeholder for method signatures supplied by interfaces pulled in further down the class
hierarchy.
|
boolean |
putFromLoad(Object key,
Object value,
long txTimestamp,
Object version,
boolean minimalPutOverride)
This method is a placeholder for method signatures supplied by interfaces pulled in further down the class
hierarchy.
|
protected T |
region()
The wrapped Hibernate cache region.
|
void |
remove(Object key)
A no-op since this is an asynchronous cache access strategy.
|
void |
removeAll()
Called to evict data from the entire region
|
protected Settings |
settings()
The settings for this persistence unit.
|
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)
Region locks are not supported - perform a cache clear as a precaution.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
evict, evictAll, lockRegion, putFromLoad, removeAll, unlockRegion
public TransactionalEhcacheCollectionRegionAccessStrategy(EhcacheCollectionRegion region, net.sf.ehcache.Ehcache ehcache, Settings settings)
region
- the Hibernate region.ehcache
- the cache.settings
- the Hibernate settings.public Object get(Object key, long txTimestamp) throws CacheException
RegionAccessStrategy
get
in interface RegionAccessStrategy
key
- The key of the item to be retrieved.txTimestamp
- a timestamp prior to the transaction start timeCacheException
- Propogated from underlying Region
public CollectionRegion getRegion()
CollectionRegionAccessStrategy
getRegion
in interface CollectionRegionAccessStrategy
public SoftLock lockItem(Object key, Object version) throws CacheException
RegionAccessStrategy
The returned object must be passed back to 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 RegionAccessStrategy
key
- The key of the item to lockversion
- The item's current version valueCacheException
- Propogated from underlying Region
public boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride) throws CacheException
putFromLoad
in interface RegionAccessStrategy
key
- The item keyvalue
- The itemtxTimestamp
- a timestamp prior to the transaction start timeversion
- the item version numberminimalPutOverride
- Explicit minimalPut flagCacheException
- Propogated from underlying Region
RegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object, boolean)
,
RegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object, boolean)
public void remove(Object key) throws CacheException
remove
in interface RegionAccessStrategy
key
- The key of the item to removeCacheException
- Propogated from underlying Region
RegionAccessStrategy.remove(java.lang.Object)
,
RegionAccessStrategy.remove(java.lang.Object)
public void unlockItem(Object key, SoftLock lock) throws CacheException
RegionAccessStrategy
unlockItem
in interface RegionAccessStrategy
key
- The item keylock
- The lock previously obtained from RegionAccessStrategy.lockItem(java.lang.Object, java.lang.Object)
CacheException
- Propogated from underlying Region
protected T region()
protected Settings settings()
public final boolean putFromLoad(Object key, Object value, long txTimestamp, Object version) throws CacheException
public final SoftLock lockRegion()
null
RegionAccessStrategy.lockRegion()
,
RegionAccessStrategy.lockRegion()
public final void unlockRegion(SoftLock lock) throws CacheException
public final void removeAll() throws CacheException
CacheException
- Propogated from underlying Region
RegionAccessStrategy.removeAll()
,
RegionAccessStrategy.removeAll()
public final void evict(Object key) throws CacheException
public final void evictAll() throws CacheException
CacheException
RegionAccessStrategy.evictAll()
,
RegionAccessStrategy.evictAll()
Copyright © 2001-2015 Red Hat, Inc. All Rights Reserved.