我需要识别数据库连接失败异常与其他异常,并在我的kafka侦听器错误处理程序中进行相应的处理。由于Spring Data JPA中的所有内容都被转换为DataAcccessException,我只是想知道当应用程序运行时发生连接故障时会抛出什么异常。工作环境: Spring boot 2.x、Spring data jpa、spring-kafka、Java 8
发布于 2019-02-20 02:14:05
DataAccessException只是层次结构的根,请查看子类,Spring已经为您分类了异常类型。
听起来你对TransientDataAccessException的实例很感兴趣,它涵盖了连接和锁定问题,它的description是:
被认为是暂时的数据访问异常层次结构的根-其中以前失败的操作在重试操作时可能会成功,而无需应用程序级别功能的任何干预。
还有NonTransientDataAccessException,它类似于数据完整性错误(RI检查和约束失败):
被认为是非瞬态的数据访问异常的层次结构的根-除非更正异常的原因,否则重试相同的操作将失败。
和RecoverableDataAccessException (事务问题):
如果应用程序执行某些恢复步骤并重试整个事务或在分布式事务的情况下重试事务分支,则当先前失败的操作可能能够成功时,将引发
数据访问异常。恢复操作至少必须包括关闭当前连接和获取新连接。
apidoc显示了每个类对应的子类,因此您可以了解所描述的是哪种类型的错误。
https://stackoverflow.com/questions/54772487
复制相似问题