public class ReadOnlyEhcacheEntityRegionAccessStrategy extends java.lang.Object implements EntityRegionAccessStrategy
| Constructor and Description |
|---|
ReadOnlyEhcacheEntityRegionAccessStrategy(EhcacheEntityRegion region,
SessionFactoryOptions settings)
Create a read-only access strategy accessing the given entity region.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
afterInsert(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value,
java.lang.Object version)
Called after an item has been inserted (after the transaction completes),
instead of calling release().
|
boolean |
afterUpdate(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value,
java.lang.Object currentVersion,
java.lang.Object previousVersion,
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 id,
EntityPersister persister,
SessionFactoryImplementor factory,
java.lang.String tenantIdentifier)
To create instances of keys for this region, Hibernate will invoke this method
exclusively so that generated implementations can generate optimised keys.
|
java.lang.Object |
get(SharedSessionContractImplementor session,
java.lang.Object key,
long txTimestamp)
Attempt to retrieve an object from the cache.
|
java.lang.Object |
getCacheKeyId(java.lang.Object cacheKey)
Performs reverse operation to
EntityRegionAccessStrategy.generateCacheKey(Object, EntityPersister, SessionFactoryImplementor, String) |
EntityRegion |
getRegion()
Get the wrapped entity cache region
|
boolean |
insert(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value,
java.lang.Object version)
Called after an item has been inserted (before the transaction completes),
instead of calling evict().
|
SoftLock |
lockItem(SharedSessionContractImplementor 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(SharedSessionContractImplementor 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(SharedSessionContractImplementor 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(SharedSessionContractImplementor 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(SharedSessionContractImplementor 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(SharedSessionContractImplementor session,
java.lang.Object key,
java.lang.Object value,
java.lang.Object currentVersion,
java.lang.Object previousVersion)
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, remove, removeAll, unlockRegionpublic ReadOnlyEhcacheEntityRegionAccessStrategy(EhcacheEntityRegion region, SessionFactoryOptions settings)
region - The wrapped regionsettings - The Hibernate settingspublic EntityRegion getRegion()
EntityRegionAccessStrategygetRegion in interface EntityRegionAccessStrategypublic java.lang.Object get(SharedSessionContractImplementor 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 boolean putFromLoad(SharedSessionContractImplementor 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(SharedSessionContractImplementor, Object, Object, long, Object, boolean),
RegionAccessStrategy.putFromLoad(SharedSessionContractImplementor, Object, Object, long, Object, boolean)public SoftLock lockItem(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object version) throws java.lang.UnsupportedOperationException
RegionAccessStrategyRegionAccessStrategy.unlockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, 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 valuejava.lang.UnsupportedOperationExceptionpublic void unlockItem(SharedSessionContractImplementor session, java.lang.Object key, SoftLock lock) throws CacheException
unlockItem in interface RegionAccessStrategysession - Current session.key - The item keylock - The lock previously obtained from RegionAccessStrategy.lockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, java.lang.Object)CacheException - Propogated from underlying Regionpublic boolean insert(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value, java.lang.Object version) throws CacheException
insert in interface EntityRegionAccessStrategysession - Current sessionkey - The item keyvalue - The itemversion - The item's version valueCacheException - Propagated from underlying Regionpublic boolean afterInsert(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value, java.lang.Object version) throws CacheException
EntityRegionAccessStrategyafterInsert in interface EntityRegionAccessStrategysession - Current sessionkey - The item keyvalue - The itemversion - The item's version valueCacheException - Propagated from underlying Regionpublic boolean update(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion) throws java.lang.UnsupportedOperationException
update in interface EntityRegionAccessStrategysession - Current sessionkey - The item keyvalue - The itemcurrentVersion - The item's current version valuepreviousVersion - The item's previous version valuejava.lang.UnsupportedOperationException - alwayspublic boolean afterUpdate(SharedSessionContractImplementor session, java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion, SoftLock lock) throws java.lang.UnsupportedOperationException
afterUpdate in interface EntityRegionAccessStrategysession - Current sessionkey - The item keyvalue - The itemcurrentVersion - The item's current version valuepreviousVersion - The item's previous version valuelock - The lock previously obtained from RegionAccessStrategy.lockItem(org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object, java.lang.Object)java.lang.UnsupportedOperationException - alwayspublic java.lang.Object generateCacheKey(java.lang.Object id,
EntityPersister persister,
SessionFactoryImplementor factory,
java.lang.String tenantIdentifier)
EntityRegionAccessStrategygenerateCacheKey in interface EntityRegionAccessStrategyid - the primary identifier of the entitypersister - the persister for the type for which a key is being generatedfactory - a reference to the current SessionFactorytenantIdentifier - the tenant id, or null if multi-tenancy is not being used.public java.lang.Object getCacheKeyId(java.lang.Object cacheKey)
EntityRegionAccessStrategyEntityRegionAccessStrategy.generateCacheKey(Object, EntityPersister, SessionFactoryImplementor, String)getCacheKeyId in interface EntityRegionAccessStrategycacheKey - key previously returned from EntityRegionAccessStrategy.generateCacheKey(Object, EntityPersister, SessionFactoryImplementor, String)EntityRegionAccessStrategy.generateCacheKey(Object, EntityPersister, SessionFactoryImplementor, String)protected T region()
protected SessionFactoryOptions settings()
public final boolean putFromLoad(SharedSessionContractImplementor 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 void remove(SharedSessionContractImplementor session, java.lang.Object key) 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.