2012-10-08 45 views

回答

4

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

如果没有关闭连接,您可能会看到类似于IDLE的事情 - 在事务中,这意味着连接处于打开状态,正在等待执行提交或回滚,但没有收到任何命令。另外,我知道你说你关闭了连接,所以我不确定这是否适用于你,但我只是想抛出,我也没有明确地关闭PreparedStatements以前遇到过问题。

+1

请注意,大多数连接池为您提供了一个Connection实例,其“close()”方法不会关闭底层连接,只是简单地将其返回给池以便可以重新使用。您可能需要配置您的池以在有限的时间内保持空闲连接。 – Matt