一 概述
今天在本地debug代码的时候,没有断点执行完毕,导致测试环境前端调用测试服务器服务的时候出现了问题:
1. org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLTransientConnectionException: Retail_HikariCP - Connection is not available, request timed out after 30000ms.
2. com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction。
二 原因分析
因为测试服务器和本地代码连接的数据库一致,debug锁表同时数据的连接池无法被释放导致连接无法继续获得连接池中的连接。
基于此我将debug的断点放开执行完后,问题就自然的解决了。
个人粗略的理解,如有更深入的理解望各位告知...
本文介绍了在本地调试代码时遇到的数据库连接问题,由于debug导致测试服务器前端调用服务时出现org.springframework.jdbc.CannotGetJdbcConnectionException和MySQLTransactionRollbackException。问题根源在于debug锁表,使得数据库连接池无法释放,进而影响到新的连接获取。解决方案是完成debug流程,释放连接。文章讨论了数据库连接超时和事务回滚的原理,并提醒开发者注意调试过程中的资源管理。
7831

被折叠的 条评论
为什么被折叠?



