我使用JDBC连接到oracle并且我没有显式关闭JDBC连接,但是在运行我的应用程序几天之后,我看到SQL语句失败了" java.sql.SQLException:Closed连接&#34 ;.
可能的原因是什么,我确定我没有通过调用java.sql.Connection.close()方法来关闭它。
答案 0 :(得分:0)
但在运行我的应用程序几天后
Oracle可能会在一些空闲时间之后关闭连接,或者在应用程序和Oracle之间的某个位置关闭代理。 保持连接存活的最佳方法是保持心跳链接。 大多数数据库都提供验证查询,即“SELECT 1”或其他内容。
如果您使用池化机制,它只是一个配置。 否则你必须自己手动完成。
java.sql.Connection.isValid(timeout)
如果没有,请刷新连接