Tomcat运行一段时间后,自动停止关闭,To prevent a memory leak,Druid 数据库连接自动关闭, the JDBC Driver has been forcibly unr

Posted zoro-zero

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat运行一段时间后,自动停止关闭,To prevent a memory leak,Druid 数据库连接自动关闭, the JDBC Driver has been forcibly unr相关的知识,希望对你有一定的参考价值。

1. Tomcat 错误日志

tail -100f tomcat9/logs/catalina.out

21-Sep-2017 23:05:39.301 INFO [Thread-5] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-nio-8809"]
21-Sep-2017 23:05:39.352 INFO [Thread-5] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
application destroy
21-Sep-2017 23:05:39.392 WARNING [Thread-5] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.alibaba.druid.proxy.DruidDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
21-Sep-2017 23:05:39.392 WARNING [Thread-5] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
21-Sep-2017 23:05:39.603 WARNING [Thread-5] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Druid-ConnectionPool-Create-60530619] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
 com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:1841)
21-Sep-2017 23:05:39.604 WARNING [Thread-5] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [Druid-ConnectionPool-Destroy-60530619] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Thread.sleep(Native Method)
 com.alibaba.druid.pool.DruidDataSource$DestroyConnectionThread.run(DruidDataSource.java:1915)
21-Sep-2017 23:05:39.611 INFO [Thread-5] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8909"]
21-Sep-2017 23:05:39.615 INFO [Thread-5] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-nio-8809"]
21-Sep-2017 23:05:39.619 INFO [Thread-5] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8909"]
21-Sep-2017 23:05:39.620 INFO [Thread-5] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-8809"]

2. 错误原因
  从字面翻译:为了防止内存泄漏,JDBC驱动程序已经被强制注销。

3. 解决办法
  将Tomcat中server.xml监听器注释掉,重启tomcat
  vi tomcat9/conf/server.xml //注释如下两行:

  
<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<Server port="8709" shutdown="SHUTDOWN">
  <!--
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  -->

 

以上是关于Tomcat运行一段时间后,自动停止关闭,To prevent a memory leak,Druid 数据库连接自动关闭, the JDBC Driver has been forcibly unr的主要内容,如果未能解决你的问题,请参考以下文章

linux怎么停止进程

启动tomcat 后 报出如下错误,并自动关闭了tomcat,请高手解答!

tomcat 突然开始自动停止运行。为啥,以前好好的。

oracle运行一段时间后,就自动停止,怎么回事?连接数据库时报送:ERROR: ORA-01034:

tomcat 怎么停止

tomcat 突然开始自动停止运行。为啥,以前好好的。