org.springframework.cache.transaction

## Class TransactionAwareCacheManagerProxy

- java.lang.Object
- - org.springframework.cache.transaction.TransactionAwareCacheManagerProxy

All Implemented Interfaces:
  InitializingBean, CacheManager

    public class TransactionAwareCacheManagerProxy
    extends Object
    implements CacheManager, InitializingBean

Proxy for a target `CacheManager`, exposing transaction-aware `Cache` objects which synchronize their `Cache.put(java.lang.Object, java.lang.Object)` operations with Spring-managed transactions (through Spring's `TransactionSynchronizationManager`, performing the actual cache put operation only in the after-commit phase of a successful transaction. If no transaction is active, `Cache.put(java.lang.Object, java.lang.Object)` operations will be performed immediately, as usual.

Since:
  3.2
Author:
  Juergen Hoeller
See Also:
  `setTargetCacheManager(org.springframework.cache.CacheManager)`, `TransactionAwareCacheDecorator`, `TransactionSynchronizationManager`

### Constructor Summary

Constructors
Constructor and Description
`TransactionAwareCacheManagerProxy()` Create a new TransactionAwareCacheManagerProxy, setting the target CacheManager through the `setTargetCacheManager(org.springframework.cache.CacheManager)` bean property.
`TransactionAwareCacheManagerProxy(CacheManager targetCacheManager)` Create a new TransactionAwareCacheManagerProxy for the given target CacheManager.

### Method Summary

Methods
`void` `afterPropertiesSet()` Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
`Cache` `getCache(String name)` Return the cache associated with the given name.
`Collection<String>` `getCacheNames()` Return a collection of the caches known by this cache manager.
`void` `setTargetCacheManager(CacheManager targetCacheManager)` Set the target CacheManager to proxy.

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

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

### Constructor Detail

#### TransactionAwareCacheManagerProxy

    public TransactionAwareCacheManagerProxy()

Create a new TransactionAwareCacheManagerProxy, setting the target CacheManager through the `setTargetCacheManager(org.springframework.cache.CacheManager)` bean property.

#### TransactionAwareCacheManagerProxy

    public TransactionAwareCacheManagerProxy(CacheManager targetCacheManager)

Create a new TransactionAwareCacheManagerProxy for the given target CacheManager.

Parameters:
  `targetCacheManager` - the target CacheManager to proxy

### Method Detail

#### setTargetCacheManager

    public void setTargetCacheManager(CacheManager targetCacheManager)

Set the target CacheManager to proxy.

#### afterPropertiesSet

    public void afterPropertiesSet()

Description copied from interface: `InitializingBean`
Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

Specified by:
  `afterPropertiesSet` in interface `InitializingBean`

#### getCache

    public Cache getCache(String name)

Description copied from interface: `CacheManager`
Return the cache associated with the given name.

Specified by:
  `getCache` in interface `CacheManager`
Parameters:
  `name` - cache identifier (must not be `null`)
Returns:
  associated cache, or `null` if none is found

#### getCacheNames

    public Collection<String> getCacheNames()

Description copied from interface: `CacheManager`
Return a collection of the caches known by this cache manager.

Specified by:
  `getCacheNames` in interface `CacheManager`
Returns:
  names of caches known by the cache manager.