`
小嘴冰凉
  • 浏览: 457115 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

如何在WebLogic 8.1.6环境中查找有连接池泄漏的代码

阅读更多
[size=large]
解决连接池泄漏步骤
登录weblogic console,  %Domain% -> Services -> JDBC -> Connection Pools -> jdbc/ioa

 

Configuration页 -> Connection, 点开Advanced Options, 修改以下配置项状态:

 

配置项名称
 默认值
 修改为
 说明
 
Enable Connection Leak Profiling
 禁用
 启用
 开启连接池泄漏的监控。
 
Enable Connection Profiling
 禁用
 启用
 开启连接池监控。
 
Inactive Connection Timeout
 0
 100
 连接在指定时间内(单位:秒)没有活动的话,WebLogic会将之释放并回收到连接池。
 

 

    以上配置项修改后不影响在跑的应用,不需要重启服务器或应用(配置项前没有黄色小图标 <!--[if !vml]--><!--[endif]-->,WebLogic很明确的告诉我们这个配置是不需要重启的),所以大可放心设置。只是启用监控后会对性能有一些影响,具体影响会有多大,我没有测试过,但开启这些设置只是暂时的,得到日志后我们就可以把配置还原会默认值。


在没有解决连接池泄漏问题之前,如果没有请求时连接池将一直保持为0,不会再有连接池满造成请求无法响应的问题,我们也不用担心再挨客户骂,也为我们解决问题争取了宝贵到时间。

 

       好了,下面才是关键。

 

       过一段时间后,在bea\user_projects\domains\%domainname%\%servername%目录下,打开%servername%.log,查找,"A JDBC pool connection leak was detected",如果WebLogic已经监控到有连接池泄漏的话,就可以找到以下日志,并且很清楚的告诉我们在哪一个类的哪行代码创建了连接,但没有关闭(注意红色加粗字体):






 

2008-5-22 上午11时47分20秒 CST       Warning     JDBC                A JDBC pool connection leak was detected. A connection leak occurs when a connection obtained from the pool was not closed explicitly by calling close() and then was disposed by the garbage collector and returned to the connection pool. The following stack trace at create shows where the leaked connection was created. Stack trace at connection create: 

       at weblogic.jdbc.wrapper.PoolConnection.init(PoolConnection.java:75)

       at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:254)

       at weblogic.jdbc.pool.Driver.connect(Driver.java:84)

       at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:546)

       at weblogic.jdbc.jts.Driver.connect(Driver.java:140)

       at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:344)

       at com.cp.fw.dao.BaseDAO.getConnection(BaseDAO.java:78)

       at com.cp.fw.dao.dataset.DataSetOp.init(DataSetOp.java:78)

       at com.cp.fw.dao.dataset.DataSetOp.<init>(DataSetOp.java:45)

       at com.cp.ia.util.WorkFlowUtil.getNextWrokFlowId(WorkFlowUtil.java:93)

       at 

 

……

       

 

       另外一种方法:



在WebLogic Console,展开 %DomainName% -> Servers -> %ServerName%,选到Logging – Server页,在页面最下方点击 "View server log",同样查找 "A JDBC pool connection leak was detected",也可以找到同样的日志。

 

WebLogic对于日志事件的说明:

 

Message ID
 BEA-001074
 
Subsystem
 JDBC
 
Message
 A JDBC pool connection leak was detected. A 

connection leak occurs when a connection obtained 

from the pool was not closed explicitly by calling 

close() and then was disposed by the garbage 

collector and returned to the connection pool. The 

following stack trace at create shows where the 

leaked connection was created.  Stack trace at 

connection create:
 
Detail
 A JDBC pool connection leak was detected. A 

connection leak occurs when a connection obtained 

from the pool was not closed explicitly by calling 

close() and then was disposed by the garbage 

collector and returned to the connection pool. A 

stack trace is printed indicating where the leaked 

connection was created.
 
Cause
 A JDBC pool connection leak was detected. A 

connection leak occurs when a connection obtained 

from the pool was not closed explicitly by calling 

close() and then was disposed by the garbage 

collector and returned to the connection pool. A 

stack trace is printed indicating where the leaked 

connection was created.
 
Action
 Close the connection appropriately.
 


原文:http://blog.csdn.net/esky2000/archive/2008/07/22/2689929.aspx 


[/size]
分享到:
评论

相关推荐

    struts2 sping hibernate 部署到weblogic8.1.6上所需要jar包

    目前在将struts2部署到weblogic8.1.6的时候,总会提示很多莫名其妙的错误,后来经过查找时因为struts2是需要jdk1.5的,但是weblogic是使用的是1.4,所以在使用的时候需要将struts2和相关的jar文件用jdk1.4编译一下。...

    【完美解决ecside2.0RC1在weblogic8.1.6环境下导出xls,csv 文件为空的情况】~上传JAR附件

    【完美解决ecside2.0RC1在weblogic8.1.6环境下导出xls,csv 文件为空的情况】~法老修正完整版之JAR包 博文链接:https://pharaohsprince.iteye.com/blog/127032

    weblogic8.1.6-winods版本

    windos版本需要jdk1.4-1.6版本,windos-xp/2003系统可以适配,经过本人实际测试及其应用可以使用,最新版安全漏洞相应会比较少,若实际生产需要可下载最新版进行安装即可;若您需要linux版本请下方留言,后续会补上

    weblogic连接池配置

    weblogic连接池配置说明, weblogic8.1连接池配置及简单优化

    weblogic连接池配置数据库断掉重连的问题

    在 Weblogic 中,连接池配置数据库断掉重连机制是指当连接池中的连接断掉时,Weblogic 会自动重新连接到数据库,以便恢复连接池的可用性。 断掉重连机制的原理是基于 Weblogic 的连接池配置机制。当连接池中的连接...

    weblogic 8.1.6在RH linux AS4安装文档

    - **环境兼容性**:在Red Hat Linux AS4环境下安装WebLogic 8.1.6时需要注意操作系统版本与WebLogic版本之间的兼容性,确保安装的软件能够正常运行。 - **后续配置**:安装完成后还需要进行一些必要的后续配置,如...

    weblogic 8.1.6 for linux安装.doc

    WebLogic Server 8.1.6 是一款由甲骨文公司(Oracle)开发的企业级Java应用服务器,主要用于构建、部署和管理企业级Java应用程序。...在生产环境中,建议使用最新或受支持的WebLogic版本,以确保系统的安全性和稳定性。

    在WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试

    ### 在WebLogic中建立数据库连接池与数据源及利用JBuilder进行测试 #### 摘要 本文将详细介绍如何在WebLogic Platform 8.1控制台中设置Oracle 9i、SQL Server 和 JDataStore 数据库连接池以及如何在应用程序中获取...

    weblogic数据源连接池

    在企业级应用开发中,数据源连接池是关键组件之一,它能有效地管理数据库连接,提高系统的性能和可扩展性。...在实际操作中,根据应用的需求和环境,不断调整和优化连接池参数,能够更好地发挥其效益。

    weblogic 8.1.6 for linux安装知识讲解.docx

    .weblogic 8.1.6 for linux安装知识讲解.docx

    weblogic 8.1.6 for linux安装知识讲解.pdf

    .weblogic 8.1.6 for linux安装知识讲解.pdf

    weblogic与oracle数据库通过连接池连接及测试代码

    以上内容覆盖了 WebLogic 与 Oracle 数据库连接的基本原理、连接池配置参数详解以及使用 Java 进行连接测试的具体方法,并简要介绍了 JSF 1.2 在 MyEclipse 中的配置流程。希望这些信息能够帮助您更好地理解和操作 ...

    weblogic配置sql数据连接池

    在生产环境中,应定期监控数据连接池的性能,观察连接池的使用情况,如当前连接数、等待队列长度等。如果发现连接池过小导致频繁等待,或连接池过大造成资源浪费,应及时调整相关参数。此外,还可以利用WebLogic的...

Global site tag (gtag.js) - Google Analytics