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

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

 2010-02-04 00:00:00 来源:WEB开发网   
核心提示: [Connection@<Connection ID>] prepareStatement结果集详细信息列出在包含以下内容的行中:[ResultSet@<ResultSet ID>]为了检测哪些资源已被关闭,解析器应该在 DB2 跟踪文件中查找包含以下内容的行:[<

[Connection@<Connection ID>] prepareStatement

结果集详细信息列出在包含以下内容的行中:

[ResultSet@<ResultSet ID>]

为了检测哪些资源已被关闭,解析器应该在 DB2 跟踪文件中查找包含以下内容的行:

[<Resource ID>] close () called

其中,<Resource ID> 表示以下项目之一:

Statement

PreparedStatement

ResultSet

创建自定义 EMF 资源工厂

使用之前介绍的 DB2 跟踪文件元素来设计在 ANTLR 中使用的语法,或者编写自定义解析器(用于读取 DB2 跟踪文件的内容以及创建 EMF 建模类的实例)。这些类是由 EMF 框架生成的。它们所在的 EMF 插件包含 EMF 模型,并且扩展了 org.eclipse.emf.ecore.EObject 基类。以下行将创建一个 PreparedStatement 建模类实例,并修改其属性:

PreparedStatement pStmt = traceFactory.createPreparedStatement(); 
pStmt.setID(statementID); 
pStmt.setQuery(queryString); 

实现解析器并创建有效的 EMF 模型实例之后,必须将它绑定到 EMF 资源工厂中。

使用 org.eclipse.emf.ecore.resource.Resource.Factory.Registry 类的默认实例注册自定义 EMF 资源工厂实现,如下所示:

Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap() 
  .put(resourceURI.fileExtension(), new MyCustomDB2TraceResourceFactoryImpl()); 

注意,上面显示的代码实际上只有一行。为正常显示,本文将它分开了。

实现以上行之后,所有的资源将被自定义资源类处理。这意味着您可以使用自己的 EMF 插件集来打开和分析任何 DB2 跟踪文件。

上一页  2 3 4 5 6 7 8  下一页

Tags:使用 IBM DB

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