spring事务管理器 等事务提交之后执行方法
spring 事务管理器
·
1.有时候在一个事务里调用了异步方法,异步方法又需要查询数据,当前事务未提交就获取不到最新数据,可以将异步方法的调用注册到事务管理器中,等当前事务提交之后再执行
public void test() {
// 注册事务同步处理
if (TransactionSynchronizationManager.isActualTransactionActive()) {
//存在事物
log.info("当前存在事务,注册事务处理器以执行业务逻辑");
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
@Override
public void afterCommit() {
log.info("当前事务已提交,执行业务逻辑");
// do something
}
});
} else {
log.info("当前无事务,直接执行业务逻辑");
// do something
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)