org.hibernate.cache.impl.bridge
Class BaseTransactionalDataRegionAdapter

java.lang.Object
  extended by org.hibernate.cache.impl.bridge.BaseRegionAdapter
      extended by org.hibernate.cache.impl.bridge.BaseTransactionalDataRegionAdapter
All Implemented Interfaces:
Region, TransactionalDataRegion
Direct Known Subclasses:
CollectionRegionAdapter, EntityRegionAdapter

public abstract class BaseTransactionalDataRegionAdapter
extends BaseRegionAdapter
implements TransactionalDataRegion

Author:
Steve Ebersole

Field Summary
protected  CacheDataDescription metadata
           
 
Fields inherited from class org.hibernate.cache.impl.bridge.BaseRegionAdapter
settings, underlyingCache
 
Constructor Summary
protected BaseTransactionalDataRegionAdapter(Cache underlyingCache, Settings settings, CacheDataDescription metadata)
           
 
Method Summary
 CacheDataDescription getCacheDataDescription()
           
 boolean isTransactionAware()
          Is the underlying cache implementation aware of (and "participating in") ongoing JTA transactions?

Regions which report that they are transaction-aware are considered "synchronous", in that we assume we can immediately (i.e.

 
Methods inherited from class org.hibernate.cache.impl.bridge.BaseRegionAdapter
clear, contains, destroy, getElementCountInMemory, getElementCountOnDisk, getName, getSizeInMemory, getTimeout, nextTimestamp, toMap
 
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, destroy, getElementCountInMemory, getElementCountOnDisk, getName, getSizeInMemory, getTimeout, nextTimestamp, toMap
 

Field Detail

metadata

protected final CacheDataDescription metadata
Constructor Detail

BaseTransactionalDataRegionAdapter

protected BaseTransactionalDataRegionAdapter(Cache underlyingCache,
                                             Settings settings,
                                             CacheDataDescription metadata)
Method Detail

isTransactionAware

public boolean isTransactionAware()
Description copied from interface: TransactionalDataRegion
Is the underlying cache implementation aware of (and "participating in") ongoing JTA transactions?

Regions which report that they are transaction-aware are considered "synchronous", in that we assume we can immediately (i.e. synchronously) write the changes to the cache and that the cache will properly manage application of the written changes within the bounds of ongoing JTA transactions. Conversely, regions reporting false are considered "asynchronous", where it is assumed that changes must be manually delayed by Hibernate until we are certain that the current transaction is successful (i.e. maintaining READ_COMMITTED isolation).

Specified by:
isTransactionAware in interface TransactionalDataRegion
Returns:
True if transaction aware; false otherwise.

getCacheDataDescription

public CacheDataDescription getCacheDataDescription()
Specified by:
getCacheDataDescription in interface TransactionalDataRegion


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