在Spring @Transactional方法中获取异常的stacktrace

时间:2019-02-06 12:33:35

标签: java spring spring-data-jpa spring-transactions

最近有一种情况,@ Transactional方法完成时没有报告任何问题,但是没有数据写入数据库,因此回滚发生在某个时刻。花了我很多时间找到抛出NullPointerException的行。因为没有堆栈跟踪或错误日志指示问题,所以它只是静默完成。

那么在事务发生异常之后,有没有办法获得完整的跟踪?

尝试为org.springframework.transaction.interceptor = trace设置日志级别,但是我得到的只有Applying rules to determine whether transaction should rollback on java.lang.NullPointerException行,尽管报告了问题所在,但并没有确切说明发生的位置。

1 个答案:

答案 0 :(得分:0)

如果您希望在异常情况下回滚事务。请通过Exception类的一些子异常。请按如下所示更新注释。     @Transactional(rollbackFor = Exception.class)