意外回滚异常 - 完整的场景分析
我所知道的关于这个异常的只是来自Spring的文档和一些论坛帖子,其中霜冻的开发人员粘贴了巨大的堆栈痕迹,并且没有回复。
来自Spring的文档:
在尝试提交事务导致意外回滚时抛出
我想一劳永逸地了解
-
究竟是什么原因造成的?
- 回滚发生在哪里?在应用服务器代码中还是在数据库中?
- 它是由于特定的基础异常(例如,来自java.sql.*的东西)引起的吗?
- 它与休眠有关吗?它是否与Spring事务管理器有关(在我的情况下不是JTA)?
如何避免?有没有避免它的最佳实践?
- 如何调试?它似乎很难重现,任何经过验证的方法来排除故障?