站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Hibernate 2.1.8 正式版 API 英文文档

TransactionalCache (Hibernate API Documentation) - Hibernate 2.1.8 正式版 API 英文文档


net.sf.hibernate.cache
Class TransactionalCache

java.lang.Object
  extended bynet.sf.hibernate.cache.TransactionalCache
All Implemented Interfaces:
CacheConcurrencyStrategy

public class TransactionalCache
extends Object
implements CacheConcurrencyStrategy

Support for fully transactional cache implementations like JBoss TreeCache. Note that this might be a less scalable concurrency strategy than ReadWriteCache. This is a "synchronous" concurrency strategy.

Author:
Gavin King

Nested Class Summary
 
Nested classes inherited from class net.sf.hibernate.cache.CacheConcurrencyStrategy
CacheConcurrencyStrategy.SoftLock
 
Constructor Summary
TransactionalCache()
           
 
Method Summary
 void afterInsert(Object key, Object value, Object version)
          Do nothing.
 void afterUpdate(Object key, Object value, Object version, CacheConcurrencyStrategy.SoftLock clientLock)
          Do nothing.
 void clear()
          Evict all items from the cache immediately.
 void destroy()
          Clean up all resources.
 void evict(Object key)
          Called after an item has become stale (before the transaction completes).
 Object get(Object key, long txTimestamp)
          Attempt to retrieve an object from the cache.
 void insert(Object key, Object value)
          Called after an item has been inserted (before the transaction completes), instead of calling evict().
 CacheConcurrencyStrategy.SoftLock lock(Object key, Object version)
          Do nothing, returning null.
 boolean put(Object key, Object value, long txTimestamp, Object version, Comparator versionComparator)
          Attempt to cache an object, after loading from the database.
 void release(Object key, CacheConcurrencyStrategy.SoftLock clientLock)
          Do nothing.
 void remove(Object key)
          Evict an item from the cache immediately (without regard for transaction isolation).
 void setCache(Cache cache)
          Set the underlying cache implementation.
 void setMinimalPuts(boolean minimalPuts)
          Enable "minimal puts" mode for this cache
 void update(Object key, Object value)
          Called after an item has been updated (before the transaction completes), instead of calling evict().
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransactionalCache

public TransactionalCache()
Method Detail

get

public Object get(Object key,
                  long txTimestamp)
           throws CacheException
Description copied from interface: CacheConcurrencyStrategy
Attempt to retrieve an object from the cache.

Specified by:
get in interface CacheConcurrencyStrategy
Parameters:
key -
txTimestamp - a timestamp prior to the transaction start time
Returns:
the cached object or null
Throws:
CacheException

put

public boolean put(Object key,
                   Object value,
                   long txTimestamp,
                   Object version,
                   Comparator versionComparator)
            throws CacheException
Description copied from interface: CacheConcurrencyStrategy
Attempt to cache an object, after loading from the database.

Specified by:
put in interface CacheConcurrencyStrategy
Parameters:
key -
value -
txTimestamp - a timestamp prior to the transaction start time
version - the version number of the object we are putting
versionComparator - a Comparator to be used to compare version numbers
Returns:
true if the object was successfully cached
Throws:
CacheException

lock

public CacheConcurrencyStrategy.SoftLock lock(Object key,
                                              Object version)
                                       throws CacheException
Do nothing, returning null.

Specified by:
lock in interface CacheConcurrencyStrategy
Parameters:
key -
version -
Throws:
CacheException

release

public void release(Object key,
                    CacheConcurrencyStrategy.SoftLock clientLock)
             throws CacheException
Do nothing.

Specified by:
release in interface CacheConcurrencyStrategy
Parameters:
key -
Throws:
CacheException

update

public void update(Object key,
                   Object value)
            throws CacheException
Description copied from interface: CacheConcurrencyStrategy
Called after an item has been updated (before the transaction completes), instead of calling evict(). This method is used by "synchronous" concurrency strategies.

Specified by:
update in interface CacheConcurrencyStrategy
Throws:
CacheException

insert

public void insert(Object key,
                   Object value)
            throws CacheException
Description copied from interface: CacheConcurrencyStrategy
Called after an item has been inserted (before the transaction completes), instead of calling evict(). This method is used by "synchronous" concurrency strategies.

Specified by:
insert in interface CacheConcurrencyStrategy
Throws:
CacheException

evict

public void evict(Object key)
           throws CacheException
Description copied from interface: CacheConcurrencyStrategy
Called after an item has become stale (before the transaction completes). This method is used by "synchronous" concurrency strategies.

Specified by:
evict in interface CacheConcurrencyStrategy
Throws:
CacheException

remove

public void remove(Object key)
            throws CacheException
Description copied from interface: CacheConcurrencyStrategy
Evict an item from the cache immediately (without regard for transaction isolation).

Specified by:
remove in interface CacheConcurrencyStrategy
Parameters:
key -
Throws:
CacheException

clear

public void clear()
           throws CacheException
Description copied from interface: CacheConcurrencyStrategy
Evict all items from the cache immediately.

Specified by:
clear in interface CacheConcurrencyStrategy
Throws:
CacheException

destroy

public void destroy()
Description copied from interface: CacheConcurrencyStrategy
Clean up all resources.

Specified by:
destroy in interface CacheConcurrencyStrategy

setCache

public void setCache(Cache cache)
Description copied from interface: CacheConcurrencyStrategy
Set the underlying cache implementation.

Specified by:
setCache in interface CacheConcurrencyStrategy
Parameters:
cache -

afterInsert

public void afterInsert(Object key,
                        Object value,
                        Object version)
                 throws CacheException
Do nothing.

Specified by:
afterInsert in interface CacheConcurrencyStrategy
Throws:
CacheException

afterUpdate

public void afterUpdate(Object key,
                        Object value,
                        Object version,
                        CacheConcurrencyStrategy.SoftLock clientLock)
                 throws CacheException
Do nothing.

Specified by:
afterUpdate in interface CacheConcurrencyStrategy
Throws:
CacheException

setMinimalPuts

public void setMinimalPuts(boolean minimalPuts)
                    throws HibernateException
Description copied from interface: CacheConcurrencyStrategy
Enable "minimal puts" mode for this cache

Specified by:
setMinimalPuts in interface CacheConcurrencyStrategy
Throws:
HibernateException