Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.hibernate.cache
Class TransactionalCache

    java.lang.Object
      org.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

Constructor Summary
`TransactionalCache()`

Method Summary
`boolean` | `afterInsert(Object key, Object value, Object version)` Do nothing.
`boolean` | `afterUpdate(Object key, Object value, Object version, 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.
`Cache` | `getCache()` Get the wrapped cache implementation
`String` | `getRegionName()` Get the cache region name
`boolean` | `insert(Object key, Object value, Object currentVersion)` Called after an item has been inserted (before the transaction completes), instead of calling evict().
`SoftLock` | `lock(Object key, Object version)` Do nothing, returning null.
`boolean` | `put(Object key, Object value, long txTimestamp, Object version, Comparator versionComparator, boolean minimalPut)` Attempt to cache an object, after loading from the database.
`void` | `release(Object key, 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.
`String` | `toString()`
`boolean` | `update(Object key, Object value, Object currentVersion, Object previousVersion)` 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, wait, wait, wait`

Constructor Detail

### TransactionalCache

    public TransactionalCache()

Method Detail

### getRegionName

    public String getRegionName()

  Description copied from interface: `CacheConcurrencyStrategy`
  Get the cache region name

  Specified by:
    `getRegionName` in interface `CacheConcurrencyStrategy`

### get

    public Object get(Object key,
                      long txTimestamp)
               throws CacheException

  Description copied from interface: `CacheConcurrencyStrategy`
  Attempt to retrieve an object from the cache. Mainly used in attempting to resolve entities/collections from the second level cache.

  Specified by:
    `get` in interface `CacheConcurrencyStrategy`
    `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,
                       boolean minimalPut)
                throws CacheException

  Description copied from interface: `CacheConcurrencyStrategy`
  Attempt to cache an object, after loading from the database.

  Specified by:
    `put` in interface `CacheConcurrencyStrategy`
    `txTimestamp` - a timestamp prior to the transaction start time
    `version` - the item version number
    `versionComparator` - a comparator used to compare version numbers
    `minimalPut` - indicates that the cache should avoid a put is the item is already cached
  Returns:
    `true` if the object was successfully cached
  Throws:
    `CacheException`

### lock

    public SoftLock lock(Object key,
                         Object version)
                  throws CacheException

  Do nothing, returning null.

  Specified by:
    `lock` in interface `CacheConcurrencyStrategy`
  Throws:
    `CacheException`

### release

    public void release(Object key,
                        SoftLock clientLock)
                 throws CacheException

  Do nothing.

  Specified by:
    `release` in interface `CacheConcurrencyStrategy`
  Throws:
    `CacheException`

### update

    public boolean update(Object key,
                          Object value,
                          Object currentVersion,
                          Object previousVersion)
                   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 boolean insert(Object key,
                          Object value,
                          Object currentVersion)
                   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`
  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`

### getCache

    public Cache getCache()

  Description copied from interface: `CacheConcurrencyStrategy`
  Get the wrapped cache implementation

  Specified by:
    `getCache` in interface `CacheConcurrencyStrategy`

### afterInsert

    public boolean afterInsert(Object key,
                               Object value,
                               Object version)
                        throws CacheException

  Do nothing.

  Specified by:
    `afterInsert` in interface `CacheConcurrencyStrategy`
  Throws:
    `CacheException`

### afterUpdate

    public boolean afterUpdate(Object key,
                               Object value,
                               Object version,
                               SoftLock clientLock)
                        throws CacheException

  Do nothing.

  Specified by:
    `afterUpdate` in interface `CacheConcurrencyStrategy`
  Throws:
    `CacheException`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.