带有CacheErrorHandler春季启动的TransactionCacheAwareDecorator

时间:2020-07-28 07:36:24

标签: java spring spring-boot caching

我正在尝试使用spring的事务感知缓存,以便在事务提交之后执行缓存放置和退出操作。我也配置了CacheErrorHandler,以便如果缓存的读取或写入失败,则可以适当地处理它们。但是,如果我使高速缓存事务知道,则在驱逐或放置失败且方法执行返回异常的情况下,永远不会调用我的CacheErrorHandler

我检查了TransactionAwareCacheDecorator中的spring代码,在TransactionSynchronizationManager中将evict操作注册为transactionSyncronization,这是aftercommit上的回调,并且该回调不使用CacheErrorHandler。

所以我的问题如下:-

有办法解决吗?即在事务感知缓存中使用CacheErrorHandler 它是故意设计的吗?如果是这样,可能有任何原因吗?

0 个答案:

没有答案