org.hibernate.cache.impl.bridge

Class BaseTransactionalDataRegionAdapter

Implemented Interfaces:
Region, TransactionalDataRegion
Known Direct 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

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, destroy, getElementCountInMemory, getElementCountOnDisk, getName, getSizeInMemory, getTimeout, nextTimestamp, toMap

Field Details

metadata

protected final CacheDataDescription metadata

Constructor Details

BaseTransactionalDataRegionAdapter

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

Method Details

getCacheDataDescription

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

isTransactionAware

public 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. 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.