当前位置: 首页 > news >正文

registered the JDBC driver [com.microsoft.jdbc.sqlserver.SQLServerDriver] but failed to unregister

1.问题描述

使用的Tomcat的版本是6.0.30,使用的数据库是SQL Server 2000,首次启动Tomcat并运行没有问题。但是当在MyEclipse选中该项目,想要重新部署,进行redeploy时,控制台会出现下面的信息:

严重: The web application [XXX] registered the JDBC driver [com.microsoft.jdbc.sqlserver.SQLServerDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

2.问题分析和解决方案

       这个问题时Tomcat6之后的一个bug,在程序关闭时无法注销此驱动,Tomcat进行内存溢出检测,为了防止溢出,给强制注销了。

首先,重写BasicDataSource中的close方法。

import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.commons.dbcp.BasicDataSource;

public class MyBasicDataSource extends BasicDataSource{
 @Override
 public synchronized void close() throws SQLException{

  DriverManager.deregisterDriver(DriverManager.getDriver(url));
  super.close();
 }
}

其次,在applicationContext.xml中添加destroy-method="close",部分代码如下

<bean id="dataSource"
		class="com.tkl.hibernateutils.MyBasicDataSource" <strong>destroy-method="close"></strong>        
		<property name="driverClassName"
			value="com.microsoft.jdbc.sqlserver.SQLServerDriver">
		</property>










相关文章:

  • 如何导出SVN中的所有日志
  • myeclipse项目里有红色感叹号
  • java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket
  • Linux根目录”/“下各个系统文件夹的含义和用途
  • hibernate.hbm2ddl.auto参数及其含义
  • IOS应用开发基础
  • Linux内核模块学习(一)
  • hibernate多对一和一对多映射浅析
  • EasyUI中datagrid获取json数据遇到的问题
  • Hibernate property-ref属性
  • spring中的autowire机制
  • Spring @Required 注解检查属性
  • Hibernate连接池的配置
  • 创建基于主-从视图的应用程序(Master-Detail Application)
  • Hibernate对视图的映射
  • 【Redis学习笔记】2018-06-28 redis命令源码学习1
  • 【译】理解JavaScript:new 关键字
  • 4个实用的微服务测试策略
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript对象详解
  • node学习系列之简单文件上传
  • React-flux杂记
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 解决iview多表头动态更改列元素发生的错误
  • 区块链分支循环
  • 三栏布局总结
  • C# - 为值类型重定义相等性
  • 阿里云ACE认证学习知识点梳理
  • #mysql 8.0 踩坑日记
  • (1)(1.11) SiK Radio v2(一)
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)负载均衡,回话保持,cookie
  • (转)关于pipe()的详细解析
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .sh 的运行
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • @Autowired多个相同类型bean装配问题
  • [ 转载 ] SharePoint 资料
  • [@Controller]4 详解@ModelAttribute
  • [AIGC] SQL中的数据添加和操作:数据类型介绍
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [C/C++]数据结构----顺序表的实现(增删查改)
  • [C语言]——柔性数组
  • [Erlang 0129] Erlang 杂记 VI 2014年10月28日
  • [Luogu 3958] NOIP2017 D2T1 奶酪