服务器由于 [池清理器]:Tomcat 连接池而停止响应,但未能停止它.这很可能会造成内存泄漏



问题:

org.apache.catalina.loader.WebappClassLoader - Web 应用程序 [/...] 似乎启动了一个名为 [[Pool-Cleaner]:Tomcat Connection Pool[...] 的线程,但未能阻止它。这很可能会造成内存泄漏。

我很少在带有jdk1.6.0_45的 tomcat 服务器 (tomcat-7.0.23) 和我在 apache 网络服务器注册的服务器中部署应用程序。盯着服务器后,它工作正常,直到我突然收到所有应用程序分别的上述错误,之后我的 tomcat 为所有请求提供 404,但 tomcat 进程仍在运行,并且在浏览器中它显示"找不到文件"。

我们使用具有以下配置的 Tomcat 连接池:

<Resource 
name="Project1" 
auth="Container" 
type="javax.sql.DataSource" 
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" 
url="DatabaseName" 
username="_username" 
password="_Password" 
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
initialSize="40"
maxActive="300" 
maxIdle="250" 
minIdle="90"
maxWait="10000" 
minEvictableIdleTimeMillis="300000" 
timeBetweenEvictionRunsMillis="120000"
validationInterval="30000"
validationQuery="SELECT 1" 
testOnBorrow="true" 
logAbandoned="true"
removeAbandoned="true" 
removeAbandonedTimeout="60" 
abandonWhenPercentageFull="50"
jdbcInterceptors="ResetAbandonedTimer"
/>

并且配置在上下文.xml文件中。

内存泄漏警告是正确的。它指的是 Tomcat 7.0.x 中的一个已知问题,该问题已在几周前修复 (r1744702) 中,并将包含在 7.0.70 及更高版本中。

相关内容