在JDBC中关闭后,Postgresql连接保持空闲状态

时间:2012-10-08 00:45:16

标签: java postgresql jdbc

我仔细检查了我的代码,我在finally块中有conn.close但是当我执行SELECT * FROM pg_stat_activity时;我看到很多空闲的连接。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

最可能的原因是您的应用程序正在使用连接池。如果是这样,池将抓取连接并保持其中一部分打开,以便可以重用它们。连接将显示为IDLE,直到执行另一个命令或应用程序关闭。

如果连接没有被关闭,你可能会看到类似IDLE的内容 - 在事务中,这意味着连接已打开并等待执行提交或回滚,但没有接收任何命令。

另外,我知道你说你关闭连接所以我不确定这是否适用于你,但我只是想抛弃我过去也遇到过没有明确关闭PreparedStatements的问题。