SpringMVC控制器方法中如何提交或回滚事务

时间:2018-12-06 03:25:36

标签: java spring spring-mvc spring-transactions

我正在修改一些旧代码并遇到奇怪的问题:

我需要根据控制器方法中服务方法返回的结果手动提交或回退事务。下面是我要存档的代码。可以这样做吗?

注意: 我知道最合适的方法是对服务代码进行一些修改,然后让服务代码确定回滚或提交。但是由于某些原因,我无法修改服务代码,所以只能修改控制器代码。

@RequestMapping("processData")
public void processData(String id){
    String result = dataService(id);
    if("success".equals(result)){
        //commit transaction
    }else{
       //rollback transaction
    }
   //since there some other codes in controller method,so exception might not be a good choice
   //.....
}

1 个答案:

答案 0 :(得分:1)

使用@Transactional(rollbackFor=Exception.class),还有更多属性,您可以检查spring文档。

相关问题