public class ReadOnlyEhcacheCollectionRegionAccessStrategy extends java.lang.Object implements CollectionRegionAccessStrategy
| Constructor and Description |
|---|
ReadOnlyEhcacheCollectionRegionAccessStrategy(EhcacheCollectionRegion region,
SessionFactoryOptions settings)
Create a read-only access strategy accessing the given collection region.
|
| Modifier and Type | Method and Description |
|---|---|
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,
CollectionPersister persister,
SessionFactoryImplementor factory,
java.lang.String tenantIdentifier)
To create instances of CollectionCacheKey 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 |
getCacheKeyId(java.lang.Object cacheKey)
Performs reverse operation to
CollectionRegionAccessStrategy.generateCacheKey(Object, CollectionPersister, SessionFactoryImplementor, String) |
CollectionRegion |
getRegion()
Get the wrapped collection cache region
|
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.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitevict, evictAll, lockRegion, putFromLoad, remove, removeAll, unlockRegionpublic ReadOnlyEhcacheCollectionRegionAccessStrategy(EhcacheCollectionRegion region, SessionFactoryOptions settings)
region - The wrapped regionsettings - The Hibernate settingspublic CollectionRegion getRegion()
CollectionRegionAccessStrategygetRegion in interface CollectionRegionAccessStrategypublic 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 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 SoftLock lockItem(SessionImplementor session, java.lang.Object key, java.lang.Object version) throws java.lang.UnsupportedOperationException
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 valuejava.lang.UnsupportedOperationExceptionpublic void unlockItem(SessionImplementor 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.SessionImplementor, java.lang.Object, java.lang.Object)CacheException - Propogated from underlying Regionpublic java.lang.Object generateCacheKey(java.lang.Object id,
CollectionPersister persister,
SessionFactoryImplementor factory,
java.lang.String tenantIdentifier)
CollectionRegionAccessStrategygenerateCacheKey in interface CollectionRegionAccessStrategyid - the primary identifier of the Collectionpersister - 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)
CollectionRegionAccessStrategyCollectionRegionAccessStrategy.generateCacheKey(Object, CollectionPersister, SessionFactoryImplementor, String)getCacheKeyId in interface CollectionRegionAccessStrategycacheKey - key previously returned from CollectionRegionAccessStrategy.generateCacheKey(Object, CollectionPersister, SessionFactoryImplementor, String)CollectionRegionAccessStrategy.generateCacheKey(Object, CollectionPersister, SessionFactoryImplementor, String)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 void remove(SessionImplementor 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.