Class 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.
Juergen Hoeller
See Also:
  • Constructor Details

    • 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.
      targetCacheManager - the target CacheManager to proxy
  • Method Details

    • setTargetCacheManager

      public void setTargetCacheManager(CacheManager targetCacheManager)
      Set the target CacheManager to proxy.
    • afterPropertiesSet

      public void afterPropertiesSet()
      Description copied from interface: InitializingBean
      Invoked by the containing BeanFactory after it has set all bean properties and satisfied BeanFactoryAware, ApplicationContextAware etc.

      This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.

      Specified by:
      afterPropertiesSet in interface InitializingBean
    • getCache

      @Nullable public Cache getCache(String name)
      Description copied from interface: CacheManager
      Get the cache associated with the given name.

      Note that the cache may be lazily created at runtime if the native provider supports it.

      Specified by:
      getCache in interface CacheManager
      name - the cache identifier (must not be null)
      the associated cache, or null if such a cache does not exist or could be not created
    • getCacheNames

      public Collection<String> getCacheNames()
      Description copied from interface: CacheManager
      Get a collection of the cache names known by this manager.
      Specified by:
      getCacheNames in interface CacheManager
      the names of all caches known by the cache manager