|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.cache.jbc.BasicRegionAdapter org.hibernate.cache.jbc.TransactionalDataRegionAdapter org.hibernate.cache.jbc.timestamp.ClusteredConcurrentTimestampsRegionImpl
public class ClusteredConcurrentTimestampsRegionImpl
Prototype of a clustered timestamps cache region impl usable if the TimestampsRegion API is changed.
Maintains a local (authoritative) cache of timestamps along with the distributed cache held in JBoss Cache. Listens for changes in the distributed cache and updates the local cache accordingly. Ensures that any changes in the local cache represent either 1) an increase in the timestamp or 2) a stepback in the timestamp by the caller that initially increased it as part of a pre-invalidate call. This approach allows timestamp changes to be replicated asynchronously by JBoss Cache while still preventing invalid backward changes in timestamps.
NOTE: This is just a prototype!!! Only useful if we change the TimestampsRegion API.
Field Summary | |
---|---|
static String |
TYPE
|
Fields inherited from class org.hibernate.cache.jbc.TransactionalDataRegionAdapter |
---|
metadata |
Fields inherited from class org.hibernate.cache.jbc.BasicRegionAdapter |
---|
currentView, internalFqn, invalidateState, invalidationMutex, ITEM, jbcCache, log, memberId, optimistic, regionFqn, regionName, regionRoot, regionRootMutex, replication, transactionManager |
Constructor Summary | |
---|---|
ClusteredConcurrentTimestampsRegionImpl(org.jboss.cache.Cache jbcCache,
String regionName,
String regionPrefix,
Properties properties)
Create a new ClusteredConccurentTimestampsRegionImpl. |
Method Summary | |
---|---|
protected org.jboss.cache.Fqn<String> |
createRegionFqn(String regionName,
String regionPrefix)
|
void |
destroy()
The "end state" contract of the region's lifecycle. |
void |
evict(Object key)
Evict an item from the cache immediately (without regard for transaction isolation). |
void |
evictAll()
Evict all contents of this particular cache region (without regard for transaction isolation). |
Object |
get(Object key)
Get an item from the cache. |
void |
invalidate(Object key,
Object value,
Object preInvalidateValue)
|
void |
nodeModified(org.jboss.cache.notifications.event.NodeModifiedEvent event)
Monitors cache events and updates the local cache |
void |
nodeRemoved(org.jboss.cache.notifications.event.NodeRemovedEvent event)
Monitors cache events and updates the local cache |
void |
preInvalidate(Object key,
Object value)
|
void |
put(Object key,
Object value)
Put an item into the cache. |
Methods inherited from class org.hibernate.cache.jbc.TransactionalDataRegionAdapter |
---|
getCacheDataDescription, isTransactionAware |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.hibernate.cache.Region |
---|
contains, getElementCountInMemory, getElementCountOnDisk, getName, getSizeInMemory, getTimeout, nextTimestamp, toMap |
Field Detail |
---|
public static final String TYPE
Constructor Detail |
---|
public ClusteredConcurrentTimestampsRegionImpl(org.jboss.cache.Cache jbcCache, String regionName, String regionPrefix, Properties properties)
jbcCache
- regionName
- regionPrefix
- TODOmetadata
- Method Detail |
---|
protected org.jboss.cache.Fqn<String> createRegionFqn(String regionName, String regionPrefix)
createRegionFqn
in class BasicRegionAdapter
public void evict(Object key) throws CacheException
GeneralDataRegion
evict
in interface GeneralDataRegion
key
- The key of the item to remove
CacheException
- Indicates a problem accessing the item or region.public void evictAll() throws CacheException
GeneralDataRegion
evictAll
in interface GeneralDataRegion
CacheException
- Indicates problem accessing the region.public Object get(Object key) throws CacheException
GeneralDataRegion
get
in interface GeneralDataRegion
key
- The key of the item to be retrieved.
CacheException
- Indicates a problem accessing the item or region.public void put(Object key, Object value) throws CacheException
GeneralDataRegion
put
in interface GeneralDataRegion
key
- The key under which to cache the item.value
- The item to cache.
CacheException
- Indicates a problem accessing the region.public void preInvalidate(Object key, Object value) throws CacheException
CacheException
public void invalidate(Object key, Object value, Object preInvalidateValue) throws CacheException
CacheException
public void destroy() throws CacheException
Region
SessionFactory.close()
to give
the region a chance to cleanup.
destroy
in interface Region
destroy
in class BasicRegionAdapter
CacheException
- Indicates problem shutting downpublic void nodeModified(org.jboss.cache.notifications.event.NodeModifiedEvent event)
nodeModified
in class BasicRegionAdapter
event
- public void nodeRemoved(org.jboss.cache.notifications.event.NodeRemovedEvent event)
event
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |