Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取Spring@Transactional方法中异常的stacktrace_Java_Spring_Spring Data Jpa_Spring Transactions - Fatal编程技术网

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

Java 获取Spring@Transactional方法中异常的stacktrace,java,spring,spring-data-jpa,spring-transactions,Java,Spring,Spring Data Jpa,Spring Transactions,最近有一个案例,@Transactional方法在没有报告任何问题的情况下完成,但没有向DB写入数据,所以在某个时候发生了回滚。我花了很多时间才找到抛出NullPointerException的行。因为没有stacktrace或错误日志来指示问题,所以它只是以静默方式完成 那个么,有并没有一种方法可以在事务中发生异常后获取完整跟踪 尝试为org.springframework.transaction.interceptor=trace设置日志级别,但我得到的唯一结果是应用规则来确定事务是否应该在

最近有一个案例,@Transactional方法在没有报告任何问题的情况下完成,但没有向DB写入数据,所以在某个时候发生了回滚。我花了很多时间才找到抛出NullPointerException的行。因为没有stacktrace或错误日志来指示问题,所以它只是以静默方式完成

那个么,有并没有一种方法可以在事务中发生异常后获取完整跟踪


尝试为
org.springframework.transaction.interceptor=trace
设置日志级别,但我得到的唯一结果是
应用规则来确定事务是否应该在java.lang.NullPointerException
行上回滚,虽然报告了问题所在,但并没有显示问题发生的确切位置。

如果您希望在异常情况下回滚事务。请通过异常类的某个子异常。请按如下方式更新您的注释。
@事务性(rollboor=Exception.class)

如果您希望在发生异常时回滚事务。请通过异常类的某个子异常。请按如下方式更新您的注释。
@事务(rollboor=Exception.class)

那么NPE在哪里?春天还是你的商业逻辑?我知道你在某个时候接受了异常。同意安东尼奥斯关于接受异常的观点。。。您可以发布该方法的代码吗?NPE位于从@Transactional method调用的方法中的业务逻辑中,但是有很多代码。我没有吞咽它,因为如果用
try{}catch(异常e){}
将所有内容包装在@Transactional方法中,它会被捕获。那么NPE在哪里呢?春天还是你的商业逻辑?我知道你在某个时候接受了异常。同意安东尼奥斯关于接受异常的观点。。。您可以发布该方法的代码吗?NPE位于从@Transactional method调用的方法中的业务逻辑中,但是有很多代码。我没有吞咽它,因为如果用
将@Transactional方法中的所有内容包装在try{}catch(异常e{}
中,它就会被捕获。请参考url:请参考url: