在做项目时遇到了这样的问题,当我重启项目时,出现了一个严重的警告:
信息: Reloading context [/MBMS1]
2012-9-9 17:10:24 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/MBMS1] registered the JDBC driver [oracle.jdbc.driver.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
大概的意思就是: 当服务器停止时,注册的驱动没有被删除!导致了内存泄漏
详情 https://issues.apache.org/jira/browse/DBCP-332
解决办法:
1 重写close()方法 - 因为BasicDataSource的close方法没有删除驱动;
public class XBasicDataSource extends BasicDataSource {
@Override
public synchronized void close() throws SQLException{
// 当驱动没有注册时,没有必要删除 , 删除反而会报错
Driver driver = null;
try {
driver = DriverManager.getDriver(url);
} catch (SQLException e) {
System.out.println("driver is null");
}
if(driver!=null){
// 从 DriverManager 的列表中删除一个驱动程序。applet 只能注销取自其自身的类加载器的驱动程序。
DriverManager.deregisterDriver(driver);
super.close();
}
}
}
2 既然项目销毁时,会监听JDBC driver 我想就在项目销毁时把driver删除即可。
public class ApplicationListener implements ServletContextListener {
public void contextDestroyed(ServletContextEvent arg0) {
// 当服务器被关闭时 , 关闭数据库驱动 (注dbcp我项目中的XBasicDataSource对象)
try {
DBCPUtil.dbcp.close();
} catch (SQLException e) {
e.printStackTrace();
}
System.out.println("服务器关闭了 ,");
}
public void contextInitialized(ServletContextEvent arg0) {
System.out.println("服务器被启动了");
}
}
3 在web.xml文件中配置
<!--
给 Application(服务器)配置监听器
-->
<listener>
<listener-class>zf.mbms.listener.ApplicationListener</listener-class>
</listener>
三步即可完成 !
分享到:
相关推荐
1.2.3.6.2 Usage of carriers in the middle of the bandwidth for PBCH and synchronization signals.................................................................29 1.2.3.6.3 Deployment Scenarios..........
### 从MBMS向E_MBMS的演进 #### MBMS概述 多媒体广播/组播服务(MBMS)是3GPP(第三代合作伙伴计划)在R6版本中引入的一个重要特性,旨在实现在一个特定范围内将数据从单一的数据源同步传输至多个用户的一种点对...
Principles and Motivation of LTE............................................1 1.1 Mobile Radio: Comparison between 3G and 4G..................2 1.1.1 Performance and Mobility Management related Issues...
Principles and Motivation of LTE............................................1 1.1 Mobile Radio: Comparison between 3G and 4G..................2 1.1.1 Performance and Mobility Management related Issues...
报告引用了一系列3GPP技术规范,如TS 25.301(无线电接口协议架构)、TS 25.211和TS 25.221(物理通道和传输通道在物理通道上的映射)、TS 22.146和TS 22.246(MBMS的阶段1定义)、TS 23.246(MBMS的架构和功能描述...
MBMS(Multimedia Broadcast and Multicast Service)是基于WCDMA的多媒体广播多播服务,是3GPP标准中为了适应移动通信系统广播多播需求而提出的技术。它旨在优化资源利用,确保在用户移动状态下流媒体服务的流畅...
《网络游戏-基于SDN的MBMS网络架构及网络优化方法》是针对现代网络游戏领域中,如何利用Software Defined Networking(SDN)技术优化Multimedia Broadcast Multicast Service(MBMS)网络架构的专业资料。...
1. **MBMS服务公告**:RNC通过系统信息广播(System Information Block,SIB)将MBMS服务的启动、结束和更新信息告知用户设备(UE)。这些信息包括服务ID、时间安排等,使得UE能够知道何时何地可以接收MBMS内容。 2...
移动运营商开展TD_MBMS手机电视业务的应用前景研究
1. **多载频小区技术**:多载频小区是指在一个物理小区内使用多个不同频段或频率资源来传输数据。这种方法可以显著增加网络容量,尤其是在高用户密度区域,通过分散用户负载,减少单个频段的压力,提升整体服务质量...
MBMS(Multimedia Broadcast Multicast Service)是3GPP(第三代合作伙伴计划)为移动通信系统定义的一种多媒体广播多播服务,旨在高效地向大量用户提供同一内容,如音乐、视频流或者新闻更新。在这个主题中,我们将...
1. MBMS控制平面(Control Plane):用于管理MBMS服务的启动、停止以及用户设备的加入和退出。这涉及到MBMS会话管理和MBMS组成员管理。 2. MBMS用户平面(User Plane):负责实际的数据传输,通常在广播和组播模式...
1. MBMS服务概述:解释MBMS在移动通信系统中的作用,以及它如何帮助网络游戏和其他多媒体服务的高效分发。 2. SFN技术详解:阐述SFN的工作原理,包括其优势和面临的挑战,如同步要求和干扰管理。 3. CS-Retran机制:...
在网络游戏的环境中,MBMS(Multimedia Broadcast Multicast Service,多媒体广播多播服务)是一种高效的数据传输技术,常用于向大量用户同时发送相同内容,如流媒体、新闻更新或游戏更新。MBMS通过利用无线网络资源...
1. **MBMS服务架构**:MBMS的架构包括核心网、无线接入网络和终端设备三部分。核心网负责内容的管理和分发,无线接入网络承载MBMS数据传输,而终端设备接收并处理这些数据。 2. **MBMS信道类型**:MBMS可以使用专用...
标题和描述中提到的“行业资料-电子功用-分配给MBMS服务的无线电资源的优化方法和用于接收MBMS服务的移动终端”涉及到的是移动通信领域中的多媒体广播多播服务(Multimedia Broadcast Multicast Service,简称MBMS)...