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.
Note: Use of immediate 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 in a transactional environment.
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