java - 如何避免过时的 MySQL/Hibernate 连接(MySQLNonTransientConnectionException)

标签 java mysql hibernate

我有一个使用 Hibernate 和 MySQL 的 Java webapp。如果网站几天不使用,MySQL 连接就会失效,我会遇到以下异常:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Connection.close() has already been called. Invalid operation in this state.

根据使用原始 JDBC 的经验,可以配置连接以尝试从错误或失效连接中恢复,但我不知道如何使用 Hibernate 执行此操作。我并没有明确地在任何地方调用 close()(但我敢打赌 Hibernate 会在其内部深处的某个地方调用)。

有人知道我该怎么做吗?

最佳答案

您使用的是什么连接池?

Hibernate suggestion不是使用内置池,而是使用应用程序服务器数据源或类似 Commons DBCP 的东西或 C3PO .

关于java - 如何避免过时的 MySQL/Hibernate 连接(MySQLNonTransientConnectionException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/721923/

相关文章:

Hibernate::组合列值

java - 在 Spring Boot 中使用 Hibernate 配置 DAO 层的单元测试

java - 在 java (Jsch) 上通过 SSH 连接到 Windows 时出现奇怪的符号

java - 从两个截然不同的类别中获取值进行比较

java - ProgressDialog 未显示在具有自定义 View 的 Activity 中

php - Symfony 3 - 驱动程序 : could not find driver 发生异常

java - Spring MVC JSP表单错误

php - 发送带有附加 php 文件的邮件,该文件从数据库中获取数据

php - MySQL 连接另一个表

java - Hibernate hbm2ddl.auto 配置的可能值是什么,它们的作用是什么