zoukankan      html  css  js  c++  java
  • Tomcat运行一段时间后,自动停止关闭,To prevent a memory leak,Druid 数据库连接自动关闭, the JDBC Driver has been forcibly unregistered.

    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" />
      -->
  • 相关阅读:
    【二】MongoDB入门
    【三】MongoDB文档的CURD操作
    【四】MongoDB索引管理
    【五】MongoDB管理之生产环境说明
    【六】MongoDB管理之副本集
    【七】MongoDB管理之分片集群介绍
    【八】MongoDB管理之分片集群实践
    【九】MongoDB管理之安全性
    mysql5.7新特性探究
    19.SSM整合_配置式开发
  • 原文地址:https://www.cnblogs.com/zoro-zero/p/11420013.html
Copyright © 2011-2022 走看看