public class TransactionAwareCacheDecorator extends Object implements org.springframework.cache.Cache
put(java.lang.Object, java.lang.Object), evict(java.lang.Object) and clear()
operations with Spring-managed transactions (through Spring's TransactionSynchronizationManager,
performing the actual cache put/evict/clear operation only in the after-commit phase of a
successful transaction. If no transaction is active, put(java.lang.Object, java.lang.Object), evict(java.lang.Object) and
clear() operations will be performed immediately, as usual.
Use of more aggressive operations such as putIfAbsent(java.lang.Object, java.lang.Object) cannot be deferred
to the after-commit phase of a running transaction. Use these with care.
TransactionAwareCacheManagerProxy| Constructor and Description |
|---|
TransactionAwareCacheDecorator(org.springframework.cache.Cache targetCache)
Create a new TransactionAwareCache for the given target Cache.
|
| Modifier and Type | Method and Description |
|---|---|
void |
clear() |
void |
evict(Object key) |
org.springframework.cache.Cache.ValueWrapper |
get(Object key) |
<T> T |
get(Object key,
Callable<T> valueLoader) |
<T> T |
get(Object key,
Class<T> type) |
String |
getName() |
Object |
getNativeCache() |
org.springframework.cache.Cache |
getTargetCache()
Return the target Cache that this Cache should delegate to.
|
void |
put(Object key,
Object value) |
org.springframework.cache.Cache.ValueWrapper |
putIfAbsent(Object key,
Object value) |
public TransactionAwareCacheDecorator(org.springframework.cache.Cache targetCache)
targetCache - the target Cache to decoratepublic org.springframework.cache.Cache getTargetCache()
public String getName()
getName in interface org.springframework.cache.Cachepublic Object getNativeCache()
getNativeCache in interface org.springframework.cache.Cache@Nullable public org.springframework.cache.Cache.ValueWrapper get(Object key)
get in interface org.springframework.cache.Cachepublic <T> T get(Object key, @Nullable Class<T> type)
get in interface org.springframework.cache.Cache@Nullable public <T> T get(Object key, Callable<T> valueLoader)
get in interface org.springframework.cache.Cachepublic void put(Object key, @Nullable Object value)
put in interface org.springframework.cache.Cache@Nullable public org.springframework.cache.Cache.ValueWrapper putIfAbsent(Object key, @Nullable Object value)
putIfAbsent in interface org.springframework.cache.Cachepublic void evict(Object key)
evict in interface org.springframework.cache.Cachepublic void clear()
clear in interface org.springframework.cache.Cache