@Deprecated public class EhcacheReadWriteCache extends AbstractEhcacheConcurrencyStrategy
This is the Ehcache specific equivalent to Hibernate's ReadWriteCache. This implementation uses a more robust soft-lock system (less prone to accidental collisions).
Modifier and Type | Class and Description |
---|---|
private static class |
EhcacheReadWriteCache.Item
Deprecated.
Wrapper type representing unlocked items.
|
private static class |
EhcacheReadWriteCache.Lock
Deprecated.
Wrapper type representing locked items.
|
private static interface |
EhcacheReadWriteCache.Lockable
Deprecated.
Interface type implemented by all wrapper objects in the cache.
|
Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock |
coarseReadLock
Deprecated.
|
private java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock |
coarseWriteLock
Deprecated.
|
private static org.slf4j.Logger |
LOG
Deprecated.
|
private java.util.concurrent.atomic.AtomicLong |
nextLockId
Deprecated.
|
private java.util.UUID |
uuid
Deprecated.
|
cache
Constructor and Description |
---|
EhcacheReadWriteCache()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
boolean |
afterInsert(java.lang.Object key,
java.lang.Object value,
java.lang.Object version)
Deprecated.
|
boolean |
afterUpdate(java.lang.Object key,
java.lang.Object value,
java.lang.Object version,
org.hibernate.cache.access.SoftLock softlock)
Deprecated.
|
private void |
decrementLock(java.lang.Object key,
EhcacheReadWriteCache.Lock lock)
Deprecated.
|
void |
evict(java.lang.Object key)
Deprecated.
A No-Op, since we are an asynchronous cache concurrency strategy.
|
java.lang.Object |
get(java.lang.Object key,
long txTimestamp)
Deprecated.
|
private void |
handleLockExpiry(java.lang.Object key)
Deprecated.
|
boolean |
insert(java.lang.Object key,
java.lang.Object value,
java.lang.Object currentVersion)
Deprecated.
A No-Op, since we are an asynchronous cache concurrency strategy.
|
org.hibernate.cache.access.SoftLock |
lock(java.lang.Object key,
java.lang.Object version)
Deprecated.
Soft-locks the associated mapping prior to updating/inserting a new value.
|
private long |
nextLockId()
Deprecated.
|
boolean |
put(java.lang.Object key,
java.lang.Object value,
long txTimestamp,
java.lang.Object version,
java.util.Comparator versionComparator,
boolean minimalPut)
Deprecated.
|
private void |
readLockIfCoarse(java.lang.Object key)
Deprecated.
|
private void |
readUnlockIfCoarse(java.lang.Object key)
Deprecated.
|
void |
release(java.lang.Object key,
org.hibernate.cache.access.SoftLock lock)
Deprecated.
Soft-unlocks the associated mapping.
|
boolean |
update(java.lang.Object key,
java.lang.Object value,
java.lang.Object currentVersion,
java.lang.Object previousVersion)
Deprecated.
A No-Op, since we are an asynchronous cache concurrency strategy.
|
private void |
writeLock(java.lang.Object key)
Deprecated.
|
private void |
writeUnlock(java.lang.Object key)
Deprecated.
|
clear, destroy, getCache, getRegionName, remove, setCache
private static final org.slf4j.Logger LOG
private final java.util.UUID uuid
private final java.util.concurrent.atomic.AtomicLong nextLockId
private final java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock coarseReadLock
private final java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock coarseWriteLock
public java.lang.Object get(java.lang.Object key, long txTimestamp) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
public boolean put(java.lang.Object key, java.lang.Object value, long txTimestamp, java.lang.Object version, java.util.Comparator versionComparator, boolean minimalPut) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
public org.hibernate.cache.access.SoftLock lock(java.lang.Object key, java.lang.Object version) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
public void release(java.lang.Object key, org.hibernate.cache.access.SoftLock lock) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
public boolean afterUpdate(java.lang.Object key, java.lang.Object value, java.lang.Object version, org.hibernate.cache.access.SoftLock softlock) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
public boolean afterInsert(java.lang.Object key, java.lang.Object value, java.lang.Object version) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
public void evict(java.lang.Object key) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
public boolean update(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion, java.lang.Object previousVersion) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
public boolean insert(java.lang.Object key, java.lang.Object value, java.lang.Object currentVersion) throws org.hibernate.cache.CacheException
org.hibernate.cache.CacheException
private long nextLockId()
private void decrementLock(java.lang.Object key, EhcacheReadWriteCache.Lock lock)
private void handleLockExpiry(java.lang.Object key)
private void writeLock(java.lang.Object key)
private void writeUnlock(java.lang.Object key)
private void readLockIfCoarse(java.lang.Object key)
private void readUnlockIfCoarse(java.lang.Object key)