快速业务通道

IBM的Java诊断,第4部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
部分(5) 时间:2011-11-02 IBM Helen Beeken

实现 IReport 的分析程序

在创建实现 IReport 接口的分析模块时,可遵循上一节中介绍的新类创建步骤。但是,这一次应该在 New Class 向导中输入以下信息:

Name:DWReport

Superclass:使用 Browse 按钮添加 com.ibm.dtfj.analyzer.base.AnalyzerBase

Interfaces:使用 Add 按钮添加 com.ibm.dtfj.analyzer.ext.IReport

清单 2 中的代码演示了可以实现 IReport 接口的类。这个简单的示例将输出创建转储的机器的类型 。这个类没有制定任何决策,它的惟一功能就是创建一个报告。将清单 2 中的内容输入新创建的 DWReport 类中,以继续本文的示例。

清单 2. 实现 IReport 的分析程序

package mypackage; import com.ibm.dtfj.analyzer.base.AnalyzerBase; import com.ibm.dtfj.analyzer.base.AnalyzerContext; import com.ibm.dtfj.analyzer.ext.IAnalysisReport; import com.ibm.dtfj.analyzer.ext.IAnalyzerContext; import com.ibm.dtfj.analyzer.ext.IReport; import com.ibm.dtfj.image.DTFJException; import com.ibm.dtfj.image.Image; /**   * This is the basic design required to implement an IReport  Interface   */ public class DWReport extends AnalyzerBase implements IReport {    private static String description = "DWReport example";    public DWReport() {}    /*     * (non-Javadoc)     * @see com.ibm.dtfj.analyzer.base.AnalyzerBase#getShortDescription()     */    public String getShortDescription() {      return description;    }    /*     * (non-Javadoc)     * @see com.ibm.dtfj.analyzer.ext.IReport#produceReport()     */    public IAnalysisReport produceReport() {      IAnalysisReport ret = allocateReport();      IAnalyzerContext ctx = getContext();      if (ctx instanceof AnalyzerContext) {        try {          Image p = ((AnalyzerContext)ctx).getCurrentImage();          ret.printLiteral("Image created on " + p.getSystemType());        } catch (DTFJException e) {          e.printStackTrace();        }      }      return ret;    } }

从清单 2 中可以看出,必须实现两个方法:getShortDescription() 和 produceReport()。 produceReport() 方法的目的是从转储中提取信息并以报告的方式返回,以便将其封装到 IAnalysisReport 对象中供稍后使用。报告对象将被发送到一个格式化程序中进行格式化以供查看。在清 单 2 中,生成了一个简单的报告,可确定创建转储的系统的类型。

现在已了解了如何构建一个分析程序,您需要知道如何使用它实际分析一个 Java 应用程序。

IBM的Java诊断,第4部分(6)

时间:2011-11-02 IBM Helen Beeken

运行分析程序

有三种位置可以运行您的分析程序:在 IDE 内部、命令行和 IBM Support Assistant(ISA)。可以 单独运行分析程序,也可以作为脚本的一部分运行(在 “SML:概述” 和 “使用 SML 将分析程序链接 起来” 两节中会详细介绍后一种方法)。

在 Eclipse 中运行分析程序

同样,本文使用 Eclipse 演示分析模块在 IDE 中的运行。在 Eclipse 内运行 Dump Analyzer 的最 简便方法是运行 DumpAnalyzer.main() 方法并传递需要进行分析的转储的完全限定名。为此,执行以下 操作:

在包浏览器中选

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号