Caused by: java.sql.SQLNonTransientConnectionException: No operations allowed after connection closed.
时间: 2023-10-14 19:04:47 浏览: 141
这个错误通常是由于数据库连接在使用后未正确关闭导致的。在使用完数据库连接后,应该显式地关闭连接,以释放资源并避免出现此类异常。可以在代码中使用try-with-resources语句来自动关闭连接,或者在finally块中手动关闭连接。另外,检查连接池配置是否正确,以确保连接池中的连接可以正确地被使用和关闭。
相关问题
Caused by: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
这个错误通常是由于 MySQL 8.0 版本以上的加密方式更新导致的。在 MySQL 8.0 版本以上,MySQL 默认使用了 RSA 加密方式,而 JDBC 驱动默认使用了 SHA-256 加密方式。当 JDBC 驱动连接 MySQL 8.0 版本以上的数据库时,会出现 Public Key Retrieval is not allowed 的错误。
为了解决这个问题,您可以在连接 MySQL 数据库时,加上一个参数 useSSL=false,以禁用 SSL 协议,例如:
```
jdbc:mysql://localhost:3306/database_name?useSSL=false
```
或者,您可以尝试升级您的 JDBC 驱动版本,以支持 MySQL 8.0 版本以上的加密方式。您可以在 MySQL 官方网站上下载最新的 JDBC 驱动版本,然后将其添加到您的项目中。
Caused by: java.sql.SQLNonTransientConnectionException: Server shutdown in progress
引用[1]和引用[2]提供了解决连接MySQL数据库时出现`Caused by: java.sql.SQLNonTransientConnectionException: Server shutdown in progress?`错误的方法。根据引用和引用的内容,解决该错误的方法是将mysql-connector-java版本降低。
以下是降低mysql-connector-java版本的步骤:
1. 打开你的Maven项目的pom.xml文件。
2. 找到以下代码块:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.13</version>
</dependency>
```
3. 将版本号`8.0.13`改为`5.1.31`,修改后的代码块如下:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
```
4. 保存并关闭pom.xml文件。
5. 重新构建和运行你的项目。
通过降低mysql-connector-java版本,你应该能够解决`Caused by: java.sql.SQLNonTransientConnectionException: Server shutdown in progress?`错误。
阅读全文