public class TransactionalEhcacheNaturalIdRegionAccessStrategy extends java.lang.Object implements NaturalIdRegionAccessStrategy
| Constructor and Description |
|---|
TransactionalEhcacheNaturalIdRegionAccessStrategy(EhcacheNaturalIdRegion region,
net.sf.ehcache.Ehcache ehcache,
SessionFactoryOptions settings)
Construct a new collection region access strategy.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
afterInsert(SessionImplementor session,
java.lang.Object key,
java.lang.Object value)
Called after an item has been inserted (after the transaction completes),
instead of calling release().
|
boolean |
afterUpdate(SessionImplementor session,
java.lang.Object key,
java.lang.Object value,
SoftLock lock)
Called after an item has been updated (after the transaction completes),
instead of calling release().
|
void |
evict(java.lang.Object key)
Remove the given mapping without regard to transactional safety
|
void |
evictAll()
Remove all mappings without regard to transactional safety
|
java.lang.Object |
generateCacheKey(java.lang.Object[] naturalIdValues,
EntityPersister persister,
SessionImplementor session)
To create instances of NaturalIdCacheKey for this region, Hibernate will invoke this method
exclusively so that generated implementations can generate optimised keys.
|
java.lang.Object |
get(SessionImplementor session,
java.lang.Object key,
long txTimestamp)
Attempt to retrieve an object from the cache.
|
java.lang.Object[] |
getNaturalIdValues(java.lang.Object cacheKey)
Performs reverse operation to
NaturalIdRegionAccessStrategy.generateCacheKey(Object[], EntityPersister, SessionImplementor), returning
the original naturalIdValues. |
NaturalIdRegion |
getRegion()
Get the wrapped naturalId cache region
|
boolean |
insert(SessionImplementor session,
java.lang.Object key,
java.lang.Object value)
Called after an item has been inserted (before the transaction completes),
instead of calling evict().
|
SoftLock |
lockItem(SessionImplementor session,
java.lang.Object key,
java.lang.Object version)
We are going to attempt to update/delete the keyed object.
|
SoftLock |
lockRegion()
Region locks are not supported.
|
boolean |
putFromLoad(SessionImplementor session,
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.
|
boolean |
putFromLoad(SessionImplementor session,
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.
|
protected T |
region()
The wrapped Hibernate cache region.
|
void |
remove(SessionImplementor session,
java.lang.Object key)
A no-op since this is an asynchronous cache access strategy.
|
void |
removeAll()
Called to evict data from the entire region
|
protected SessionFactoryOptions |
settings()
The settings for this persistence unit.
|
void |
unlockItem(SessionImplementor session,
java.lang.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.
|
boolean |
update(SessionImplementor session,
java.lang.Object key,
java.lang.Object value)
Called after an item has been updated (before the transaction completes),
instead of calling evict().
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitevict, evictAll, lockRegion, putFromLoad, removeAll, unlockRegionpublic TransactionalEhcacheNaturalIdRegionAccessStrategy(EhcacheNaturalIdRegion region, net.sf.ehcache.Ehcache ehcache, SessionFactoryOptions settings)
region - the Hibernate region.ehcache - the cache.settings - the Hibernate settings.public boolean afterInsert(SessionImplementor session, java.lang.Object key, java.lang.Object value)
NaturalIdRegionAccessStrategyafterInsert in interface NaturalIdRegionAccessStrategysession - Current sessionkey - The item keyvalue - The itempublic boolean afterUpdate(SessionImplementor session, java.lang.Object key, java.lang.Object value, SoftLock lock)
NaturalIdRegionAccessStrategyafterUpdate in interface NaturalIdRegionAccessStrategysession - Current sessionkey - The item keyvalue - The itemlock - The lock previously obtained from RegionAccessStrategy.lockItem(org.hibernate.engine.spi.SessionImplementor, java.lang.Object, java.lang.Object)public java.lang.Object get(SessionImplementor session, java.lang.Object key, long txTimestamp) throws CacheException
RegionAccessStrategyget in interface RegionAccessStrategysession - Current session.key - The key of the item to be retrieved.txTimestamp - a timestamp prior to the transaction start timeCacheException - Propogated from underlying Regionpublic NaturalIdRegion getRegion()
NaturalIdRegionAccessStrategygetRegion in interface NaturalIdRegionAccessStrategypublic boolean insert(SessionImplementor session, java.lang.Object key, java.lang.Object value) throws CacheException
NaturalIdRegionAccessStrategyinsert in interface NaturalIdRegionAccessStrategysession - Current sessionkey - The item keyvalue - The itemCacheException - Propagated from underlying Regionpublic SoftLock lockItem(SessionImplementor session, java.lang.Object key, java.lang.Object version) throws CacheException
RegionAccessStrategyRegionAccessStrategy.unlockItem(org.hibernate.engine.spi.SessionImplementor, 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 RegionAccessStrategysession - Current session.key - The key of the item to lockversion - The item's current version valueCacheException - Propogated from underlying Regionpublic boolean putFromLoad(SessionImplementor session, java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version, boolean minimalPutOverride) throws CacheException
putFromLoad in interface RegionAccessStrategysession - Current session.key - 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(SessionImplementor, Object, Object, long, Object, boolean),
RegionAccessStrategy.putFromLoad(SessionImplementor, Object, Object, long, Object, boolean)public void remove(SessionImplementor session, java.lang.Object key) throws CacheException
remove in interface RegionAccessStrategykey - The key of the item to removeCacheException - Propogated from underlying RegionRegionAccessStrategy.remove(SessionImplementor, Object),
RegionAccessStrategy.remove(SessionImplementor, Object)public void unlockItem(SessionImplementor session, java.lang.Object key, SoftLock lock) throws CacheException
RegionAccessStrategyunlockItem in interface RegionAccessStrategysession - Current session.key - The item keylock - The lock previously obtained from RegionAccessStrategy.lockItem(org.hibernate.engine.spi.SessionImplementor, java.lang.Object, java.lang.Object)CacheException - Propogated from underlying Regionpublic boolean update(SessionImplementor session, java.lang.Object key, java.lang.Object value) throws CacheException
NaturalIdRegionAccessStrategyupdate in interface NaturalIdRegionAccessStrategysession - Current sessionkey - The item keyvalue - The itemCacheException - Propagated from underlying Regionpublic java.lang.Object generateCacheKey(java.lang.Object[] naturalIdValues,
EntityPersister persister,
SessionImplementor session)
NaturalIdRegionAccessStrategygenerateCacheKey in interface NaturalIdRegionAccessStrategynaturalIdValues - the sequence of values which unequivocally identifies a cached element on this regionpersister - the persister of the element being cachedpublic java.lang.Object[] getNaturalIdValues(java.lang.Object cacheKey)
NaturalIdRegionAccessStrategyNaturalIdRegionAccessStrategy.generateCacheKey(Object[], EntityPersister, SessionImplementor), returning
the original naturalIdValues.getNaturalIdValues in interface NaturalIdRegionAccessStrategycacheKey - key returned from NaturalIdRegionAccessStrategy.generateCacheKey(Object[], EntityPersister, SessionImplementor)protected T region()
protected SessionFactoryOptions settings()
public final boolean putFromLoad(SessionImplementor session, java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version) throws CacheException
public final SoftLock lockRegion()
nullRegionAccessStrategy.lockRegion(),
RegionAccessStrategy.lockRegion()public final void unlockRegion(SoftLock lock) throws CacheException
public final void removeAll()
throws CacheException
CacheException - Propogated from underlying RegionRegionAccessStrategy.removeAll(),
RegionAccessStrategy.removeAll()public final void evict(java.lang.Object key)
throws CacheException
public final void evictAll()
throws CacheException
CacheExceptionRegionAccessStrategy.evictAll(),
RegionAccessStrategy.evictAll()Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.