zoukankan      html  css  js  c++  java
  • [tomcat启动报错]registered the JDBC driver [com.alibaba.druid.proxy.DruidDriver] but failed to unregister it when the web application was stopped

    环境:一个tomcat ,一个工程配置了多数据源,在启动的时候报如下错误:

    SEVERE: The web application [/qdp-resource-job] 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.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
    SEVERE: The web application [/qdp-resource-job] 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.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [/qdp-resource-job] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [/qdp-resource-job] appears to have started a thread named [Druid-ConnectionPool-Create-827239851] but has failed to stop it. This is very likely to create a memory leak.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [/qdp-resource-job] appears to have started a thread named [Druid-ConnectionPool-Destroy-827239851] but has failed to stop it. This is very likely to create a memory leak.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [/qdp-resource-job] appears to have started a thread named [Druid-ConnectionPool-Create-913636676] but has failed to stop it. This is very likely to create a memory leak.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [/qdp-resource-job] appears to have started a thread named [Druid-ConnectionPool-Destroy-913636676] but has failed to stop it. This is very likely to create a memory leak.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [/qdp-resource-job] appears to have started a thread named [Druid-ConnectionPool-Create-789799328] but has failed to stop it. This is very likely to create a memory leak.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [/qdp-resource-job] appears to have started a thread named [Druid-ConnectionPool-Destroy-789799328] but has failed to stop it. This is very likely to create a memory leak.
    Aug 14, 2017 3:23:27 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
    SEVERE: The web application [/qdp-resource-job] appears to have started a thread named [Druid-ConnectionPool-Create-927599675] but has failed to stop it. This is very likely to create a memory leak.

    解决方法:在多数据源配置的时候,只配置一个在启动的时候进行初始化,其他的不动,如下:

    <!-- 第一数据源  -->
        <bean name="dataSourceResource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
            <property name="url" value="${jdbc.url}" /> 
            <property name="username" value="${jdbc.username}" /> 
            <property name="password" value="${jdbc.password}" /> 
            <property name="initialSize" value="${jdbc.initialSize}" /> 
            <property name="minIdle" value="${jdbc.minIdle}" /> 
            <property name="maxActive" value="${jdbc.maxActive}" /> 
            <property name="maxWait" value="${jdbc.maxWait}" /> 
            <property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}" /> 
            <property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}" /> 
            <property name="validationQuery" value="${jdbc.validationQuery}" />
            <property name="testWhileIdle" value="${jdbc.testWhileIdle}" /> 
            <property name="testOnBorrow" value="${jdbc.testOnBorrow}" /> 
            <property name="testOnReturn" value="${jdbc.testOnReturn}" /> 
            <property name="removeAbandoned" value="${jdbc.removeAbandoned}" /> 
            <property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}" /> 
            <property name="filters" value="${jdbc.filters}" />
            <property name="logAbandoned" value="true" />
            <property name="proxyFilters">
                <list>
                    <ref bean="log-filter"/>
                </list>
            </property>
        </bean>
        <!-- 第二数据源  -->
        <bean name="dataSourceCustomer" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
            <property name="url" value="${customer.url}" /> 
            <property name="username" value="${customer.username}" /> 
            <property name="password" value="${customer.password}" /> 
        </bean>
        
        <!-- 第三数据源  -->
        <bean name="dataSourceBuilding" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
            <property name="url" value="${building.url}" /> 
            <property name="username" value="${building.username}" /> 
            <property name="password" value="${building.password}" /> 
        </bean>

    第二和第三数据源只保留最基础的url 、username、password 三个配置即可!

  • 相关阅读:
    Jmeter 常用函数(20)- 详解 __counter
    Jmeter 常用函数(19)- 详解 __BeanShell
    Python 简明教程 --- 26,Python 多进程编程
    Python 简明教程 --- 25,Python 目录操作
    Python 简明教程 --- 24,Python 文件读写
    Zookeeper分布式过程协同技术
    设计模式之命令模式案例详解
    设计模式之模板方法模式
    设计模式之代理模式案例详解
    设计模式之享元模式
  • 原文地址:https://www.cnblogs.com/raphael5200/p/7358121.html
Copyright © 2011-2022 走看看