registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister

解决方法,新建类并且继承org.apache.commons.dbcp.BasicDataSource类

接着重新close的方法即可。

/**
 * registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister
 * Created by alan.luo on 2017/9/5.
 */

public class BasicDataSourceEx extends BasicDataSource {

    public BasicDataSourceEx(){
        super();
    }


    @Override
    public synchronized void close() throws SQLException {
        DriverManager.deregisterDriver(DriverManager.getDriver(url));
        super.close();
    }
}

 

xml把bean对应的class改成新建的类名就可以了。

<bean id="dataSource" class="com.lanxinbase.system.basic.BasicDataSourceEx" destroy-method="close">
    <property name="driverClassName" value="${db.driver}"/>
    <property name="url" value="${db.url}"></property>
    <property name="username" value="${db.username}"></property>
    <property name="password" value="${db.userpasswd}"></property>
    <property name="initialSize" value="${db.initalsize}"></property>
    <property name="maxActive" value="${db.maxActive}"></property>
    <property name="maxIdle" value="${db.maxIdle}"></property>
    <property name="maxOpenPreparedStatements" value="${db.maxOpens}"></property>
    <property name="maxWait" value="${db.maxWait}"></property>
</bean>

 

Leave a Comment