事务提交后我怎么能`@CacheEvict`或`@CachePut`?

时间:2016-02-22 08:58:51

标签: spring caching

为什么Spring @CacheEvict@CachePut在事务提交后不会调用; 我想通过这种方式,我们可以避免一些错误。例如,在evict缓存和事务提交之间进行@Cacheable调用,然后缓存中的值是脏数据。 我看到了CacheInterceptor,但看到我无法重写它。有人可以告诉我,交易提交后我怎么能@CacheEvict@CachePut

1 个答案:

答案 0 :(得分:0)

如果CacheManage扩展为AbstractTransactionSupportingCacheManager,则可以调用setTransactionAware(true),然后在事务提交后调用@Cache;