Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PostgreSQL不';不要关闭连接_Java_Postgresql_Jdbc - Fatal编程技术网

Java PostgreSQL不';不要关闭连接

Java PostgreSQL不';不要关闭连接,java,postgresql,jdbc,Java,Postgresql,Jdbc,我们正在Tomcat5.5.27、PostgreSQL 8.3上使用Liferay Portal 5.2.3(带有Hibernate和C3P0)。 通常情况下,c3p0池连接并返回它以供重用。但有时我们需要及时进行大量更新,postgreSQL在关闭后不会释放连接(我们可以看到100个空闲连接)。而且,这个问题只会在Linux(Debian5.0)上重现。 连接由独立线程建立,在run()方法的最后一个块中,我们总是关闭它。 我尝试过不使用池并编写了简单的数据库连接管理器(getConnecti

我们正在Tomcat5.5.27、PostgreSQL 8.3上使用Liferay Portal 5.2.3(带有Hibernate和C3P0)。 通常情况下,c3p0池连接并返回它以供重用。但有时我们需要及时进行大量更新,postgreSQL在关闭后不会释放连接(我们可以看到100个空闲连接)。而且,这个问题只会在Linux(Debian5.0)上重现。 连接由独立线程建立,在run()方法的最后一个块中,我们总是关闭它。
我尝试过不使用池并编写了简单的数据库连接管理器(getConnection()->runQuery()->closeConnection()),但PostgreSQL没有发布它。

。。。这是代码中的问题(一个坏人没有关闭连接)

嗯。。。这是代码中的问题(一个坏人没有关闭连接)

这些空闲连接会导致问题吗?查看c3p0文档,了解如何设置空闲连接的最大数量。是的,这是一个大问题-我们遇到了一个错误“已经有太多用户”(并且我们不能将连接数增加到无穷大)。我使用了c3p0设置-它调用connection.close(),但在Postgre端它仍然空闲进程。正如我提到的,我也尝试过在没有c3p0的情况下使用它。请回答这个问题,如果你找到了解决方案,这听起来像是一个有趣的问题。“PostgreSQL不释放连接”。这是正确的。客户端必须释放连接。如果您的连接未关闭,则说明您的应用程序有问题,而不是服务器有问题。我调用connection.close(),但它仍在服务器上被占用。正如我所知,PostgreSQL将其返回到自己的池中以供重用,但当我建立新连接时,postgre不会从池中获取它。拥有这些空闲连接会导致问题吗?查看c3p0文档,了解如何设置空闲连接的最大数量。是的,这是一个大问题-我们遇到了一个错误“已经有太多用户”(并且我们不能将连接数增加到无穷大)。我使用了c3p0设置-它调用connection.close(),但在Postgre端它仍然空闲进程。正如我提到的,我也尝试过在没有c3p0的情况下使用它。请回答这个问题,如果你找到了解决方案,这听起来像是一个有趣的问题。“PostgreSQL不释放连接”。这是正确的。客户端必须释放连接。如果您的连接未关闭,则说明您的应用程序有问题,而不是服务器有问题。我调用connection.close(),但它仍在服务器上被占用。据我所知,PostgreSQL将其返回到自己的池中以供重用,但当我建立新连接时,postgre不会从池中获取它。有任何关于跟踪此类问题的提示吗?当我们连接到DB时,我手动检查了所有位置。在一些例子中,我们没有调用close()方法。关于跟踪这类问题有什么提示吗?当我们连接到DB时,我手动检查了所有地方。其中一些函数没有调用close()方法。