java吧 关注:1,292,730贴子:12,824,249
  • 5回复贴,共1

spring boot 异步调用事务不生效怎么解决?

只看楼主收藏回复

controller层是这样的:
@Autowired
private UserService userService;
@RequestMapping("/hello")
@ResponseBody
@Transactional
public void a() {
User user=new User();
user.setCity("上海");
user.setName("王五");
userService.save(user);
userService.ddd();
}
save和ddd都是异步,加了@Async, ddd会抛一个异常,现在就是save的结果不会回滚,这个怎么解决?


1楼2018-12-13 17:33回复
    想了想应该没办法解决,因为等你其他线程返回结果,主线程早执行完了


    2楼2018-12-13 17:38
    回复
      2025-12-27 15:27:01
      广告
      不感兴趣
      开通SVIP免广告
      为什么你的事务在controller;
      事务处理留给service不就行了。


      IP属地:江西3楼2018-12-13 17:58
      回复(2)
        @Transactional(rollbackFor = Exception.class)


        IP属地:四川6楼2018-12-14 11:21
        回复