未捕获交易异常

时间:2019-12-19 12:23:07

标签: java spring-boot

我正在尝试在一种方法中使用@Transational,但是我面临以下问题。 首先是这种情况:

1-我更新了他的密码

2-我将他的ID插入跟踪表(简单插入查询)

要测试我的交易,请在插入查询中提供一个现有的ID(主键)。

该事务有效,但由于知道两个函数是 在try-catch块中,通常它应该返回Transaction silently rolled back because it has been marked as rollback-only

当我在响应上使用断点时,它会显示Internal error,但在邮递员中,我会得到internal error

这是我的代码:

Transaction silently rolled back because it has been marked as rollback-only

1 个答案:

答案 0 :(得分:0)

这是正常现象,原因是您的insertUtilisateurTracking方法在执行时需要TX。但是,在updateUserPassword方法内部调用它时,有可用的TX,容器不会创建新的TX,而是使用现有的TX。因此,如果在insertUtilisateurTracking方法中发生任何异常,它将导致TX设置为rollBackOnly(即使您在调用方中捕获了异常并忽略了它)。

相关问题