0

在对种子应用程序进行热重新部署时,它无法从连接池中释放连接。Tomcat 抛出内存不足异常。

如果部署是第一次完成,它可以正常工作,因为没有需要释放的现有连接。

此外,如果我们关闭 tomcat 实例,它会正确释放连接。

使用默认的 Hikari 连接池设置,并且未进行任何自定义。


添加日志:-

2016 年 10 月 26 日下午 2:46:24 org.apache.catalina.startup.HostConfig deleteRedeployResources 信息:取消部署上下文[/test-web-1.0.0] 2016-10-26 14:46:24,156?[0;39m ? [35mContainerBackgroundProcessor[StandardEngine[Catalina]]?[0;39m ?[36mo.sswlSeed ServletContextListener?[0;39m - 停止种子 Web 应用程序 2016-10-26 14:46:24,157?[0;39m ?[35mContainerBackgroundProcessor[StandardEngine[ Catalina]]?[0;39m ?[36mo.sjiJpaPlugin?[0;39m -为持久性单元 test-xxx 关闭实体管理器工厂 2016-10-26 14:46:24,158?[0;39m ?[35mContainerBackgroundProcessor[StandardEngine[ Catalina]]?[0;39m ?[36mo.sjiJdbcPlugin?[0;39m -关闭 JDBC 数据源 test_ds 2016-10-26 14:46:24,159?[0;39m ?[35mContainerBackgroundProcessor[StandardEngine[Catalina]]?[0;39m ?[36mc.zhpHikariPool?[0;39m - HikariCP 池 HikariPool-0 正在关闭。2016-10-26 14:46:24,228?[0;39m ?[35mContainerBackgroundProcessor[StandardEngine[Catalina]]?[0;39m?[36mo.sswlSeedServletContextListener?[0;39m -种子 Web 应用程序停止 ?[31m?[0 ;39mOct 26, 2016 2:46:24 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc 严重:Web 应用程序 [/test-web-1.0.0] 注册了 JDBC 驱动程序 [com.mysql.jdbc.Driver] 但是Web 应用程序停止时无法取消注册。为防止内存泄漏,已强制注销 JDBC 驱动程序。 2016 年 10 月 26 日下午 2:46:24 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads 严重:Web 应用程序 [/test-web-1.0.0] 似乎已经启动了一个名为 [Abandoned connection cleanup thread] 但已未能阻止它。这很可能造成内存泄漏。 2016 年 10 月 26 日下午 2:46:25 org.apache.catalina.startup.HostConfig deployWAR

信息:部署 Web 应用程序存档 F:\Eclipse-New-PSA\Eclipse_DEV\Serveurs\J2EE\tomcat\apache-tomcat-7\webapps\test-web-1.0.0.war

14:46:32,543 |-LoggerContext [default] 中的信息-找不到资源 [logback.groovy] 14:46:32,543 |-LoggerContext [default] 中的信息-找不到资源 [logback-test.xml] 14: 46:32,543 |-LoggerContext [default] 中的信息 - 在 [file:/E:/PSA-test/GL_SVN_TEST_ENV/test-conf/test-web/logback.xml] 找到资源 [logback.xml] 14:46:32,606 | joran.action.ConfigurationAction 中的-INFO - 未设置调试属性 14:46:32,739 | LevelChangePropagator@425941ba 中的-INFO - 将 Logger[org.reflections] 上的 OFF 级别传播到 JUL 框架 .... 14 :46:32,740 |-CH.qos.logback.core.joran.action.TimestampAction 中的信息 - 使用 key="bySecond" 和 value="20161026T144632" 将属性添加到 LOCAL steste 14:46:32,746 |- ch.qos.logback.core.FileAppender[FILE] 中的信息 - 文件属性设置为 [c:/temp/log//TestWeb-20161026T144632.log] 14:46:32,811 |-INFO in joran.action.RootLoggerAction - 将 ROOT 记录器的级别设置为 INFO

?[34mINFO ?[0;39m ?[33m2016-10-26 14:46:35,062?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.sswlSeedServletContextListener?[0;39m - 起始种子Web 应用程序 ?[31m?[0;39m?[31mWARN?[0;39m?[33m2016-10-26 14:46:42,623?[0;39m?[35mlocalhost-startStop-2?[0;39m?[36mo .heHibernatePersistence?[0;39m - HHH015016: 遇到一个已弃用的 javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; 使用 [org.hibernate. jpa.HibernatePersistenceProvider] 代替。2016-10-26 14:46:42,678?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.hjiuLogHelper?[0;39m - HHH000 204:处理 PersistenceUnitInfo [名称:test-xxx。 ..] 2016-10-26 14:46:42,801?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.h.Version?[0;39m - HHH000412:休眠核心{4.3。 11.Final} 2016-10-26 14:46:42,808?[0;HikariCP 池 HikariPool-0 正在启动。 2016-10-26 14:46:43,417?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.hdDialect?[0;39m - HHH000400:使用方言:org.hibernate.dialect.MySQLDialect 2016-10-26 14:46:43,908?[0;39m ?[35mlocalhost-startStop-2?[0;39m ?[36mo.hhiaASTQueryTranslatorFactory?[0;39m - HHH000397:使用 ASTQueryTranslatorFactory ?[31m?[0;39m

异常:从线程“ContainerBackgroundProcessor[StandardEngine[Catalina]]”中的 UncaughtExceptionHandler 抛出 java.lang.OutOfMemoryError

4

0 回答 0