WEB开发网
开发学院数据库DB2 使用 IBM DB2 跟踪和 Eclipse Modeling Framework... 阅读

使用 IBM DB2 跟踪和 Eclipse Modeling Framework 检测资源泄漏

 2010-02-04 00:00:00 来源:WEB开发网   
核心提示: 使用 EMF 插件检测资源漏泄在启用 DB2 JDBC 选项的情况下执行 Java 应用程序之后,您可以使用新的 EMF 插件来分析跟踪文件,使用 IBM DB2 跟踪和 Eclipse Modeling Framework 检测资源泄漏(8),为此,只需要启动安装了 EMF 插件的 Eclip

使用 EMF 插件检测资源漏泄

在启用 DB2 JDBC 选项的情况下执行 Java 应用程序之后,您可以使用新的 EMF 插件来分析跟踪文件。为此,只需要启动安装了 EMF 插件的 Eclipse 环境,然后打开一个或多个 DB2 跟踪文件。

打开 DB2 跟踪文件之后,EMF 插件会将一个树形结构中显示其内容。当您选择树形结构中的某个元素时,它会激活属性视图并显示所选项目的详细信息。

图 2 显示了 EMF 树形视图的一个示例,其下文是一个 EMF 元素属性视图。

图 2. 使用 EMF 插件的 DB2 跟踪文件的树形和属性视图
使用 IBM DB2 跟踪和 Eclipse Modeling Framework 检测资源泄漏

您可以使用树形视图导航 DB2 跟踪文件。您可以查看创建了哪些相关元素,比如 JDBC 连接、语句、已备语句和结果集,以及发起了哪些查询。

在查找资源泄漏时,需要重点注意的一个地方是与 JDBC 对象 Statement/PreparedStatement 相关的 SQL 查询,以及是否调用了 close() 方法。close() 方法负责释放与调用方法所针对的 JDBC 元素相关的所有数据库资源。经过精心设计、使用 JDBC 框架的 Java 应用程序应该会在数据库资源不需要时立即释放它们。

如果应用程序未关闭 JDBC 连接,那么您通常需要深入分析原因。有时,在应用程序终止之前不能关闭 JDBC 连接(比如,需要提供 JDBC 连接池)。因此,您需要逐一分析每种特殊情况。

DB2 跟踪机制简化了分析任务,但跟踪文件更加复杂并且很难手动进行分析。使用 EMF 插件读取 DB2 跟踪文件并可视呈现内容,可以更加轻松地分离和识别未正常处理的资源。

在图 3 所示的示例中,我们使用 EMF 插件查看 ID 为 174 的 JDBC 连接的详细信息。详细属性视图显示连接的 Close Called 属性为 false。这表示应用程序并未关闭连接。因此,在本例中,您需要深入分析出现这种情况的原因。如果确定 JDBC 连接未处理处理,并且所属应用程序 “忘记” 关闭它,则表示您发现了一处需要修复的资源泄漏。

图 3. 未关闭 JDBC 连接,这表示应用程序存在问题
使用 IBM DB2 跟踪和 Eclipse Modeling Framework 检测资源泄漏

结束语

本文展示了如何将 IBM DB2 跟踪机制与 Eclipse Modeling Framework 结合使用。它阐述了如何生成强大的 EMF 插件,用于分析 DB2 跟踪文件并迅速检测支持 Java 数据库的应用程序中的异常行为。这将为您节省宝贵的时间,否则您将需要手动分析 DB2 跟踪文件。

上一页  3 4 5 6 7 8 

Tags:使用 IBM DB

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接