定位EOS5.3数据库连接不释放的问题

上传人:pu****.1 文档编号:486453336 上传时间:2023-01-31 格式:DOC 页数:18 大小:238KB
返回 下载 相关 举报
定位EOS5.3数据库连接不释放的问题_第1页
第1页 / 共18页
定位EOS5.3数据库连接不释放的问题_第2页
第2页 / 共18页
定位EOS5.3数据库连接不释放的问题_第3页
第3页 / 共18页
定位EOS5.3数据库连接不释放的问题_第4页
第4页 / 共18页
定位EOS5.3数据库连接不释放的问题_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《定位EOS5.3数据库连接不释放的问题》由会员分享,可在线阅读,更多相关《定位EOS5.3数据库连接不释放的问题(18页珍藏版)》请在金锄头文库上搜索。

1、文档供参考,可复制、编制,期待您的好评与关注! PRIMETON TECHNOLOGIES, LTD.上海普元信息技术有限责任公司定位EOS5.3数据库连接不释放的问题技术解决方案No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording, otherwise, without the written permission

2、of the copyright owner.COPYRIGHT 2006 by Primeton Technologies, Ltd. ALL RIGHTS RESERVED.文档修订记录序号版本号修订日期修订概述修订人审批人备注10.12008-07-23创建林锋规范及约定1. 【规范及约定】的内容仅仅是对本文档编写的规范和约定进行描述,文档编写人员必须严格按照本规范和约定进行编写,在文档正式发布时删除该部分内容;2. 文档内容采用“首行缩进、小四号字体、1.5倍行距”的格式,选中段落文本使用快捷键【Ctrl+Alt+4】可以进行格式化(直接选中蓝色的说明文字即可);3. 必须填写“文档修

3、订控制记录”;4. 文档目录必须更新为最新的,与实际内容相对应;5. 模版中每部分内容的下面的蓝色字体是对这块内容的说明,编写文档时选中这段文字,使用【Ctrl+Alt+4】快捷键即可格式化成要求的字体;目 录1文档摘要51.1文档分类51.2关键字/Tag51.3摘要51.4作者、协作者及评审人员51.5定义、首字母缩写词及缩略语52概述62.1问题或场景62.2目的62.3参考资料62.4工具和技术62.5系统运行环境63总体解决方案73.1前提条件73.2必备知识73.3使用监控数据库连接工具93.3.1部署93.3.2打开及关闭监控开关93.3.3监控日志103.4使用分析监控数据库连

4、接日志工具104案例124.1案例准备124.2运行案例134.3分析问题135注意事项165.1注意源码与发布的程序可能不一致165.2userAccessMonitor中找不到匹配的请求编号161 文档摘要1.1 文档分类部署上线 技术方案1.2 关键字/Tag数据库连接不释放1.3 摘要介绍一个定位EOS5.3系统中数据库连接不释放问题的方法。1.4 作者、协作者及评审人员作者: 林锋1.5 定义、首字母缩写词及缩略语2 概述2.1 问题或场景在操作数据库的过程中,通常有三个步骤:先取得与数据库的连接,再操作数据库,最后在关闭数据库连接。最后的关闭数据库连接步骤必不可少,因为数据库连接数

5、是有限的,一旦漏了这个步骤,最终数据库就将没有可用的连接,导致所有的数据库操作都无法进行。这个即是数据库连接不释放问题。在EOS系统中, EOS提供的数据库操作构件经过充分测试,以及众多的项目验证,不会存在数据库连接不释放的问题。虽然EOS的数据库构件可以满足绝大多数的开发需求,但同样还是有写java代码来操作数据库的需求存在。由于缺少充分的测试和验证,在项目开发过程中写java代码操作数据库不可避免地会存在数据库连接不释放问题。2.2 目的本文介绍通过EOS提供的一个工具来监控记录数据库的连接、关闭操作日志,另外再通过一个工具分析监控记录的日志,找到连接不释放的功能。2.3 参考资料2.4

6、工具和技术部署上线工具EOS系统性能分析工具2.5 系统运行环境EOS5.33 总体解决方案3.1 前提条件要使用本方案有两个前提条件:1、 必须是EOS5.3及以上版本,因为从EOS5.3版本才支持监控数据库操作2、 java代码中取得的数据库连接必须是通过EOS提供的dbbroker接口取得的,否则EOS无法监控3.2 必备知识前提条件中提到java代码中取得的数据库连接必须是通过EOS提供的dbbroker接口取得的,那么怎样从dbbroker接口中取得数据库连接?什么情况下需要关闭数据库连接呢?下面通过两个从dbbroker接口下取数据库连接的例子来说明。例子1:public stat

7、ic int BL_test(Document dom, BizContext param) throws Exception PreparedStatement pstmt = null;ResultSet rs = null;try Connection conn = param.getDBBroker().getConnection();pstmt = conn.prepareStatement(select userID from EOSOperator where operatorID=1);rs = pstmt.executeQuery();String userID = rs.g

8、etString(1); catch (Exception e) ; finally try rs.close(); catch (Exception ex) try pstmt.close(); catch (Exception ex) return 1;该例子是在bizlet通过BizContext中的dbbroker取得数据库连接。该数据库连接由BizContext自己创建并关闭,在bizlet中只是引用了该数据库连接,所以不需要关闭。从上面的finally代码中可以看到没有close数据库连接的操作。例子2:/ import com.primeton.tp.core.bizservic

9、e.EOSParameter;public static int BL_test(Document dom, BizContext param) throws Exception Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;EOSParameter para = null;try / 取与构件包ROLE使用一样的数据连接/ PackageName和UnitID对应一个数据源,在eosmgr构件包信息中可以配置,如不配置默认取eosconfig.xml中配置的defaultDataSource

10、。/ UnitNmae即构件包名,UnitID默认为0,通过配置不同的UnitID,同一个构件包可使用不同数据源。para = new EOSParameter();para.setUnitName(fbrole);para.setUnitId(0);conn = para.getDBBroker().getConnection();pstmt = conn.prepareStatement(select userID from EOSOperator where operatorID=1);rs = pstmt.executeQuery();String userID = rs.getStr

11、ing(1); catch (Exception e) ; finally try rs.close(); catch (Exception ex) try pstmt.close(); catch (Exception ex) try conn.close(); catch (Exception ex) return 1;该例子是在bizlet通过创建一个EOSParameter对象,然后从该对象中的dbbroker取得数据库连接。该数据库连接是bizlet中自己创建的,那么必须由bizlet自己关闭。从上面的finally代码中可以看到有close数据库连接的操作。3.3 使用监控数据库连

12、接工具3.3.1 部署因为要结合EOS系统性能分析工具中的功能一起使用,所以监控数据库连接工具与EOS性能分析工具一起发布,可在知识库中“部署上线工具EOS系统性能分析工具”中下载。在EOS系统性能分析工具的doc目录中有一个connMonitor.epp构件包(如果你的版本中没有,请更新知识库),通过EOS管理控制台【构件包发布】功能发布该构件包。注意,该构件包包含class文件,需要重启server。3.3.2 打开及关闭监控开关监控数据库连接工具有开关打开和关闭监控,默认状态为关闭。打开监控开关:通过访问connMonitor.epp构件包中“fbtools/page/startConn

13、Monitor.jsp”即可打开监控开关。如下所示:关闭监控开关:通过访问connMonitor.epp构件包中“fbtools/page/stopConnMonitor.jsp”即可关闭监控开关。如下所示:3.3.3 监控日志监控日志记录在$EOS_HOMElogsconnMonitor.log文件中,日志内容如下:2008-07-23 12:06:29,671G1000012167852937522008-07-23 12:06:29,734R100001216785293752632008-07-23 12:06:29,796G1000112167852937522008-07-23 12:06:29,812R100011216785293752162008-07-23 12:06:29,828G1000212167852937522008-07-23 12:06:29,843R10002

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号