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) and
evictIfPresent(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) |
boolean |
evictIfPresent(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.
|
boolean |
invalidate() |
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 boolean evictIfPresent(Object key)
evictIfPresent in interface org.springframework.cache.Cachepublic void clear()
clear in interface org.springframework.cache.Cachepublic boolean invalidate()
invalidate in interface org.springframework.cache.Cache