我有一个使用 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/