Save This Page
Home » hibernate-distribution-3.3.1.GA-dist » org.hibernate » cache » jbc2 » timestamp » [javadoc | source]
org.hibernate.cache.jbc2.timestamp
public class: ClusteredConcurrentTimestampsRegionImpl [javadoc | source]
java.lang.Object
   org.hibernate.cache.jbc2.BasicRegionAdapter
      org.hibernate.cache.jbc2.TransactionalDataRegionAdapter
         org.hibernate.cache.jbc2.timestamp.ClusteredConcurrentTimestampsRegionImpl

All Implemented Interfaces:
    TimestampsRegion, TransactionalDataRegion, Region

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
public static final  String TYPE     
Fields inherited from org.hibernate.cache.jbc2.TransactionalDataRegionAdapter:
metadata
Fields inherited from org.hibernate.cache.jbc2.BasicRegionAdapter:
ITEM,  jbcCache,  regionName,  regionFqn,  regionRoot,  optimistic,  transactionManager,  log,  regionRootMutex
Constructor:
 public ClusteredConcurrentTimestampsRegionImpl(Cache jbcCache,
    String regionName,
    String regionPrefix,
    Properties properties) 
    Create a new ClusteredConccurentTimestampsRegionImpl.
    Parameters:
    jbcCache -
    regionName -
    regionPrefix - TODO
    metadata -
Method from org.hibernate.cache.jbc2.timestamp.ClusteredConcurrentTimestampsRegionImpl Summary:
createRegionFqn,   destroy,   evict,   evictAll,   get,   invalidate,   nodeModified,   nodeRemoved,   preInvalidate,   put
Methods from org.hibernate.cache.jbc2.TransactionalDataRegionAdapter:
getCacheDataDescription,   isTransactionAware
Methods from org.hibernate.cache.jbc2.BasicRegionAdapter:
activateLocalClusterNode,   createRegionFqn,   deactivateLocalNode,   destroy,   ensureRegionRootExists,   escapeRegionName,   getCacheInstance,   getElementCountInMemory,   getElementCountOnDisk,   getName,   getNonLockingDataVersionOption,   getRegionFqn,   getSizeInMemory,   getTimeout,   getTypeFirstRegionFqn,   getTypeLastRegionFqn,   nextTimestamp,   resume,   suspend,   suspendAndGet,   toMap
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.hibernate.cache.jbc2.timestamp.ClusteredConcurrentTimestampsRegionImpl Detail:
 protected Fqn createRegionFqn(String regionName,
    String regionPrefix) 
 public  void destroy() throws CacheException 
 public  void evict(Object key) throws CacheException 
 public  void evictAll() throws CacheException 
 public Object get(Object key) throws CacheException 
 public  void invalidate(Object key,
    Object value,
    Object preInvalidateValue) throws CacheException 
 public  void nodeModified(NodeModifiedEvent event) 
    Monitors cache events and updates the local cache
 public  void nodeRemoved(NodeRemovedEvent event) 
    Monitors cache events and updates the local cache
 public  void preInvalidate(Object key,
    Object value) throws CacheException 
 public  void put(Object key,
    Object value) throws CacheException