org.springframework.cache.transaction

## Class AbstractTransactionSupportingCacheManager

- java.lang.Object
- - org.springframework.cache.support.AbstractCacheManager
  - - org.springframework.cache.transaction.AbstractTransactionSupportingCacheManager

All Implemented Interfaces:
  InitializingBean, CacheManager

Direct Known Subclasses:
  EhCacheCacheManager, JCacheCacheManager

    public abstract class AbstractTransactionSupportingCacheManager
    extends AbstractCacheManager

Base class for CacheManager implementations that want to support built-in awareness of Spring-managed transactions. This usually needs to be switched on explicitly through the `setTransactionAware(boolean)` bean property.

Since:
  3.2
Author:
  Juergen Hoeller
See Also:
  `setTransactionAware(boolean)`, `TransactionAwareCacheDecorator`, `TransactionAwareCacheManagerProxy`

### Constructor Summary

Constructors
Constructor and Description
`AbstractTransactionSupportingCacheManager()`

### Method Summary

Methods
`protected Cache` `decorateCache(Cache cache)` Decorate the given Cache object if necessary.
`boolean` `isTransactionAware()` Return whether this CacheManager has been configured to be transaction-aware.
`void` `setTransactionAware(boolean transactionAware)` Set whether this CacheManager should expose transaction-aware Cache objects.

### Methods inherited from class org.springframework.cache.support.AbstractCacheManager

`addCache, afterPropertiesSet, getCache, getCacheNames, loadCaches`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AbstractTransactionSupportingCacheManager

    public AbstractTransactionSupportingCacheManager()

### Method Detail

#### setTransactionAware

    public void setTransactionAware(boolean transactionAware)

Set whether this CacheManager should expose transaction-aware Cache objects.

Default is "false". Set this to "true" to synchronize cache put/evict operations with ongoing Spring-managed transactions, performing the actual cache put/evict operation only in the after-commit phase of a successful transaction.

#### isTransactionAware

    public boolean isTransactionAware()

Return whether this CacheManager has been configured to be transaction-aware.

#### decorateCache

    protected Cache decorateCache(Cache cache)

Description copied from class: `AbstractCacheManager`
Decorate the given Cache object if necessary.

Overrides:
  `decorateCache` in class `AbstractCacheManager`
Parameters:
  `cache` - the Cache object to be added to this CacheManager
Returns:
  the decorated Cache object to be used instead, or simply the passed-in Cache object by default