不关闭DB连接可能是Tomcat上Java堆溢出的原因吗?

不关闭DB连接可能是Tomcat上Java堆溢出的原因吗?,java,tomcat,Java,Tomcat,我用java和mysql编写了一个web应用程序。现在每周我都需要重新启动tomcat。否则会出现如下错误: “服务暂时不可用 由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后重试 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。“ 是的,忽略关闭数据库连接(或文件,或网络连接)是一个可能的原因。当然还有很多其他的 可能有很多事情。我建议运行以转储堆,然后使用进行分析。我发现这在堆经过一段时间增长的情况下非常有用。该工具将告诉您泄漏嫌疑人,您

我用java和mysql编写了一个web应用程序。现在每周我都需要重新启动tomcat。否则会出现如下错误:

“服务暂时不可用

由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后重试

此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。“


是的,忽略关闭数据库连接(或文件,或网络连接)是一个可能的原因。当然还有很多其他的

可能有很多事情。我建议运行以转储堆,然后使用进行分析。我发现这在堆经过一段时间增长的情况下非常有用。该工具将告诉您泄漏嫌疑人,您可以缩小案件范围。如果您注意到周围有太多无法进行垃圾收集的连接对象,那么问题就出在这里。同时,您很有可能最终发现另一个泄漏嫌疑犯。

您甚至没有提供足够的信息来确定您的问题与堆溢出有关。有堆栈跟踪吗?堆转储?有没有理由怀疑您的错误是由于连接打开造成的?在它死之前,有什么事情看起来不一样吗?你试过改变内存设置吗?请多了解一些情况。