Class TransactionalEhcacheEntityRegionAccessStrategy
- java.lang.Object
-
- net.sf.ehcache.hibernate.strategy.TransactionalEhcacheEntityRegionAccessStrategy
-
- All Implemented Interfaces:
org.hibernate.cache.access.EntityRegionAccessStrategy
public class TransactionalEhcacheEntityRegionAccessStrategy extends java.lang.Object implements org.hibernate.cache.access.EntityRegionAccessStrategyJTA EntityRegionAccessStrategy.- Author:
- Chris Dennis, Ludovic Orban
-
-
Constructor Summary
Constructors Constructor Description TransactionalEhcacheEntityRegionAccessStrategy(EhcacheEntityRegion region, Ehcache ehcache, org.hibernate.cfg.Settings settings)Construct a new entity region access strategy.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanafterInsert(java.lang.Object key, java.lang.Object value, java.lang.Object version)booleanafterUpdate(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion, org.hibernate.cache.access.SoftLock lock)voidevict(java.lang.Object key)Remove the given mapping without regard to transactional safetyvoidevictAll()Remove all mappings without regard to transactional safetyjava.lang.Objectget(java.lang.Object key, long txTimestamp)org.hibernate.cache.EntityRegiongetRegion()booleaninsert(java.lang.Object key, java.lang.Object value, java.lang.Object version)org.hibernate.cache.access.SoftLocklockItem(java.lang.Object key, java.lang.Object version)org.hibernate.cache.access.SoftLocklockRegion()Region locks are not supported.booleanputFromLoad(java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version)This method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.booleanputFromLoad(java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version, boolean minimalPutOverride)This method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.voidremove(java.lang.Object key)A no-op since this is an asynchronous cache access strategy.voidremoveAll()Called to evict data from the entire regionvoidunlockItem(java.lang.Object key, org.hibernate.cache.access.SoftLock lock)voidunlockRegion(org.hibernate.cache.access.SoftLock lock)Region locks are not supported - perform a cache clear as a precaution.booleanupdate(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion)
-
-
-
Field Detail
-
region
protected final T extends EhcacheTransactionalDataRegion region
The wrapped Hibernate cache region.
-
settings
protected final org.hibernate.cfg.Settings settings
The settings for this persistence unit.
-
-
Constructor Detail
-
TransactionalEhcacheEntityRegionAccessStrategy
public TransactionalEhcacheEntityRegionAccessStrategy(EhcacheEntityRegion region, Ehcache ehcache, org.hibernate.cfg.Settings settings)
Construct a new entity region access strategy.- Parameters:
region- the Hibernate region.ehcache- the cache.settings- the Hibernate settings.
-
-
Method Detail
-
afterInsert
public boolean afterInsert(java.lang.Object key, java.lang.Object value, java.lang.Object version)- Specified by:
afterInsertin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy
-
afterUpdate
public boolean afterUpdate(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion, org.hibernate.cache.access.SoftLock lock)- Specified by:
afterUpdatein interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy
-
get
public java.lang.Object get(java.lang.Object key, long txTimestamp) throws org.hibernate.cache.CacheException- Specified by:
getin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
getRegion
public org.hibernate.cache.EntityRegion getRegion()
- Specified by:
getRegionin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy
-
insert
public boolean insert(java.lang.Object key, java.lang.Object value, java.lang.Object version) throws org.hibernate.cache.CacheException- Specified by:
insertin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
lockItem
public org.hibernate.cache.access.SoftLock lockItem(java.lang.Object key, java.lang.Object version) throws org.hibernate.cache.CacheException- Specified by:
lockItemin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
putFromLoad
public boolean putFromLoad(java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version, boolean minimalPutOverride) throws org.hibernate.cache.CacheExceptionThis method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.- Specified by:
putFromLoadin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object, boolean),CollectionRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object, boolean)
-
remove
public void remove(java.lang.Object key) throws org.hibernate.cache.CacheExceptionA no-op since this is an asynchronous cache access strategy.- Specified by:
removein interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.remove(java.lang.Object),CollectionRegionAccessStrategy.remove(java.lang.Object)
-
unlockItem
public void unlockItem(java.lang.Object key, org.hibernate.cache.access.SoftLock lock) throws org.hibernate.cache.CacheException- Specified by:
unlockItemin interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
update
public boolean update(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion) throws org.hibernate.cache.CacheException- Specified by:
updatein interfaceorg.hibernate.cache.access.EntityRegionAccessStrategy- Throws:
org.hibernate.cache.CacheException
-
putFromLoad
public final boolean putFromLoad(java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version) throws org.hibernate.cache.CacheExceptionThis method is a placeholder for method signatures supplied by interfaces pulled in further down the class hierarchy.- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object),CollectionRegionAccessStrategy.putFromLoad(java.lang.Object, java.lang.Object, long, java.lang.Object)
-
lockRegion
public final org.hibernate.cache.access.SoftLock lockRegion()
Region locks are not supported.- Returns:
null- See Also:
EntityRegionAccessStrategy.lockRegion(),CollectionRegionAccessStrategy.lockRegion()
-
unlockRegion
public final void unlockRegion(org.hibernate.cache.access.SoftLock lock) throws org.hibernate.cache.CacheExceptionRegion locks are not supported - perform a cache clear as a precaution.- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.unlockRegion(org.hibernate.cache.access.SoftLock),CollectionRegionAccessStrategy.unlockRegion(org.hibernate.cache.access.SoftLock)
-
removeAll
public final void removeAll() throws org.hibernate.cache.CacheExceptionCalled to evict data from the entire region- Throws:
org.hibernate.cache.CacheException- Propogated from underlyingRegion- See Also:
EntityRegionAccessStrategy.removeAll(),CollectionRegionAccessStrategy.removeAll()
-
evict
public final void evict(java.lang.Object key) throws org.hibernate.cache.CacheExceptionRemove the given mapping without regard to transactional safety- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.evict(java.lang.Object),CollectionRegionAccessStrategy.evict(java.lang.Object)
-
evictAll
public final void evictAll() throws org.hibernate.cache.CacheExceptionRemove all mappings without regard to transactional safety- Throws:
org.hibernate.cache.CacheException- See Also:
EntityRegionAccessStrategy.evictAll(),CollectionRegionAccessStrategy.evictAll()
-
-