`

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

    博客分类:
  • SSH
 
阅读更多

寒假时在家看视频学习ssh,第一次将它们整合在一起,就出了问题:

 

严重: The web application [/] 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.

2012-2-15 15:25:22 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads

严重: The web application [/] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak.

 

 

我用的是strut2.2.3+hibernate3+spring2.5.6+tomcat7.0.22+mysql5

 

看tomcat的启动信息是,应用程序注册了jdbc驱动,但是结束时无法注销,tomcat于是为防止内存泄露,强制注销了,

网上说是DBCP的bug

 

于是按https://issues.apache.org/jira/browse/DBCP-332上讲的

 

另外写一个类,继承org.apache.commons.dbcp.BasicDataSource来注销jdbcimport java.sql.DriverManager;

import java.sql.SQLException;

import org.apache.commons.dbcp.BasicDataSource;

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

 于是问题终于解决了!不知还有没更好的方法?

分享到:
评论

相关推荐

    Tomcat报错: JDBC unregister 解决办法

    The web application [web application] registered the JDBC driver [net.sourceforge.jtds.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC...

    Proxool-0.9.1

    SEVERE: The web application [/xxx] 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 ...

    DB2 Driver

    DB2 Driver是IBM公司开发的一款专门用于连接DB2数据库的驱动程序,它是Java数据库连接(JDBC)的一部分,使得Java应用程序能够与DB2数据库进行交互。在描述中提到的问题,对于Mac用户来说,使用DBeaver这样的数据库...

    关闭tomca报错t,网络整理

    首先,错误信息 "严重: The web application [/img] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped." 指出,在停止Web应用/img时,它注册...

    JAVA数据库大全.docx

    * MySQL 数据库:使用 org.gjt.mm.mysql.Driver 驱动程序,连接字符串为“jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1”。 * PostgreSQL 数据库:使用 org....

    DriverStudio 3.2 For VisualStudio 2005 补丁

    <br>原文件说明: <br>Compuware DriverStudio – DriverSuite Version 3.2 <br>Version 3.2 VisualStudio 2005 Integration fix. The purpose of this update is to allow DriverStudio – ...

    Senfore_DragDrop_v4.1

    I have not been able to reproduce these errors, but I believe the following work around will fix the problem: In the project options of *all* projects which uses these components, add the following...

    i2c_driver2.rar_i2c linux_linux i2c_linux i2c_linux i2c 驱动_驱动 l

    在“i2c_driver2.rar”压缩包中的“I2C驱动2.pdf”文档很可能详细介绍了如何编写和调试I2C驱动程序,包括实例代码和步骤指南。而“www.pudn.com.txt”可能是提供额外资源链接或参考材料的文本文件。 在实际开发中,...

    pci_driver.rar_PCI driver linux_PCI驱动_linux pci driver_linux驱动pc

    4. **驱动编程接口**:详细说明如何使用`<linux/pci.h>`头文件中的函数和数据结构来编写PCI驱动,如`pci_register_driver()`和`pci_unregister_driver()`。 5. **中断处理**:解释中断请求(IRQ)的管理和处理,...

    Unregister-MissingMSIs.ps1

    Windows Installer注册表修复工具 作者源址:https://gist.github.com/heaths/77fbe0b44496960fab25c2eb0b9e8475

    kernel_char_driver.tar.gz_operation

    `kernel_char_driver.tar.gz_operation`这个项目显然是为了帮助开发者理解如何编写一个简单的字符设备驱动,特别关注于LED(发光二极管)的控制。在这个教程中,你将学习到如何在Linux内核中进行以下操作: 1. **主...

    dx修复工具

    The Online Edition is similar to the Standard Edition, but the files for repairing are not included in Online Edition. Consequently, Internet connection is required when it is repairing the files. ...

    Linux_Led_Driver.zip_linux X86 led_x86 driver

    本文将深入探讨X86架构下Linux环境中的LED驱动开发,结合提供的"Linux_Led_Driver.zip"资源,我们来解析其中涉及的关键知识点。 1. **Linux驱动程序基础** - Linux驱动程序是内核的一部分,负责管理和控制硬件设备...

    linux-device-driver-source-code.rar_linux device driver

    每个总线都有自己的探测方法,如PCI的`pci_register_driver`和`pci_unregister_driver`。 总的来说,这个压缩包中的源代码涵盖了Linux设备驱动开发的多个重要方面,包括设备模型、驱动注册、中断处理、I/O操作以及...

    rtc-ep93xx.rar_The Driver

    "rtc-ep93xx.rar_The Driver" 提供的是针对Cirrus Logic EP93XX处理器内建RTC模块的驱动程序。驱动程序是操作系统与硬件设备之间的桥梁,它允许操作系统和应用程序能够有效地访问和利用硬件资源。RTC驱动负责初始化...

    linux_char_device_driver_programming.rar_linux driver

    - 当不再需要驱动时,使用`unregister_chrdev()`来注销驱动,释放资源。 3. **设备文件创建** - `mknod`命令或在驱动中调用`cdev_add()`可以创建设备文件,使得用户空间可以通过文件系统接口与设备交互。 4. **...

    Platform driver&device.pptx

    以下将详细阐述平台驱动(Platform Driver)和平台设备(Platform Device)的概念、结构以及它们在Linux内核中的工作原理。 平台驱动(Platform Driver): 平台驱动是针对特定硬件平台设计的,它负责初始化、配置...

    plsqldev14.0.0.1961x64多语言版+sn.rar

    The new viewer allows you to ignore differences in case and white space as usual, but it can also ignore differences in comments. Program Window enhancements The Program Window now highlights ...

    com.zend.php.core_9.0.0.201111081531.jar

    第一步:如果已经安装过Zend Studio 9.0的,请打开Zend Studio 9.0,在菜单中“help>Unregister”,如果显示是灰的跳过此步退出Zend Studio。如果显示可以点击的请点击,这时Zend Studio会重启,重启到要求你填注册码...

    PCI-driver.rar_linux PCI_linux下pci_pci

    10. **卸载驱动**:当不再需要驱动时,通过`pci_unregister_driver()`卸载。这会解除设备与驱动的关联,释放资源。 在压缩包中的"PCI驱动范例"文件,开发者可以学习如何编写和调试PCI驱动,包括如何初始化设备,...

Global site tag (gtag.js) - Google Analytics