如果线程在操作过程中被设置为中断状态,则该线程在操作数据库获取数据库连接的时候会出现无法获取到数据库连接的异常,所以最好不要在中断的线程下做资源的操作。线程中断并不等于终止线程
JDBC无法获取到连接的异常基本是比较常见的,一般常见的原因有:1. 数据库的账号或密码错误 2.当前服务器无法连接到数据库服务器。但是这个异常:org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: interrupt
或者这个异常:
nested Exceepiton is java.sql.SQLException: interrupt###Cause: org.springframework.jdbc.CannotGetjdbcConnectionException: Failed to obtaion JDBC Connection: nested exception is java.sql.SQLException: interrupt
并不是简单的无法连接到数据库的原因,下面将简单进行分析
原因
-
异常的区别:
第一个异常和第二个异常都是操作数据库异常,第一个异常信息中提示:无法打开事务的连接,第二个异常信息中提示:无法获取到数据库连接,实际上都是相同的原因
- 第一个异常是因为在发生异常的方法上开启了事务,所以开启事务的时候无法获