Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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 Tomcat不重用挂起的postgres进程_Java_Postgresql_Tomcat - Fatal编程技术网

Java Tomcat不重用挂起的postgres进程

Java Tomcat不重用挂起的postgres进程,java,postgresql,tomcat,Java,Postgresql,Tomcat,我有一个问题,来自tomcat应用程序的基本查询导致所有postgres进程进入“事务中空闲”状态 这是因为由于某些原因,查询永远无法完成。与应用程序问题和应用程序开发人员提出的问题相关,他们正在查看 由于tomcat认为查询仍然处于活动状态,因此它从不执行回滚或提交并挂起 我能够终止“事务中的空闲”进程,但tomcat不会自动清除放弃连接并启动新连接,而无需重新启动tomcat 有没有办法强迫tomcat清除被放弃的连接 labkey | 8195 | 2018-04-17 10:53:17.

我有一个问题,来自tomcat应用程序的基本查询导致所有postgres进程进入“事务中空闲”状态

这是因为由于某些原因,查询永远无法完成。与应用程序问题和应用程序开发人员提出的问题相关,他们正在查看

由于tomcat认为查询仍然处于活动状态,因此它从不执行回滚或提交并挂起

我能够终止“事务中的空闲”进程,但tomcat不会自动清除放弃连接并启动新连接,而无需重新启动tomcat

有没有办法强迫tomcat清除被放弃的连接

labkey | 8195 | 2018-04-17 10:53:17.002785+01 |交易中空闲
labkey | 8359 | 2018-04-17 10:53:16.632977+01 |交易中空闲
labkey | 8249 | 2018-04-17 10:53:16.631433+01 | |交易中空闲
labkey | 8250 | 2018-04-17 10:53:17.173161+01 | |交易中空闲
labkey | 8251 | 2018-04-17 10:53:16.194544+01 | |交易中空闲
labkey | 8358 | 2018-04-17 10:53:16.634106+01 |交易中空闲
labkey | 8362 | 2018-04-17 10:53:14.843128+01 | |交易中空闲
labkey | 8382 | 2018-04-17 10:53:15.903067+01 |交易中空闲

你说的“重用流程”是什么意思?如果你终止了一个连接,那么在那之后就没有什么可以“重用”的了。也许重用这个词是错误的。但强迫tomcat清除放弃连接并启动新连接而不必重新启动tomcat。ThanksTomcat永远不会发出
提交
回滚
。这取决于应用程序。JDBC兼容模式下的驱动程序在将自身重置为
自动提交
模式时将发出
提交
,假设您的连接池配置为在
自动提交
中分发连接。您对“放弃”的定义是什么?应用程序通常使用连接池,该连接池有意维护到数据库的连接,以避免为应用程序所需的每个连接创建新物理连接的开销。这通常被视为性能优化。