public void updateCache() {
// 没有开启事务,直接更新
if (!TransactionSynchronizationManager.isSynchronizationActive()) {
logger.info("<<<<<<<<[未开启事务]>>>>>>>>>");
// 异步更新缓存
asyncUpdateCache();
}else {
// 开启了事务,等提交后更新
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
@Override
public void afterCommit() {
logger.info("<<<<<<<<[事务提交了]>>>>>>>>>");
// 异步更新缓存
asyncUpdateCache();
}
});
}
}