java.sql.SQLException: 连接关闭后不允许进行任何操作。数据库:mysql

java.sql.SQLException: No operations allowed after connection closed . DB: mysql

Exception : java.sql.SQLException: No operations allowed after connection closed.

当我尝试 运行 我的应用程序时遇到了这个奇怪的异常。我正在为连接对象使用局部变量,并且在执行某些语句后引发此异常。我正在使用 c3p0 连接池和 MySQL 数据库。

如果不看你的代码很难诊断这个问题,但我曾经遇到过类似的问题,因为 mysql 会在一段时间后关闭连接;因此请确保您的数据源的配置具有验证查询,并且 testOnBorrow 和 testWhileIdle 都为真。

这是一个例子:

    <Resource auth="Container" type="javax.sql.DataSource" name="jdbc/mydb"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://myserver/mydb"
            maxActive="10"
            maxIdle="5"
            validationQuery="SELECT 1"
            testOnBorrow="true"
            testWhileIdle="true"
            timeBetweenEvictionRunsMillis="10000"
            minEvictableIdleTimeMillis="60000"
            username="???" password="???"/>