创建定制组件
通用日志适配器提供了许多预定义组件,这些组件可以用来创建适配器以处理应用程序日志文件。如果那些组件无法满足您的需求,您可以通过创建定制组件来扩展通用日志适配器,这些定制组件可以被包括在适配器配置文件的上下文中。
请执行下列步骤来创建定制组件:
如果要在开发自己的通用日志适配器组件时引用通用日志适配器源代码,您可以从 Eclipse CVS 存储库检出
org.eclipse.hyades.logging.adapter 插件项目。要完成此任务:
- 打开“CVS 存储库研究”透视图。
- 在“CVS 存储库”窗格中单击鼠标右键,然后选择新建 > 存储库位置。
- 输入 dev.eclipse.org 作为“主机”,输入 /home/tools 作为“存储库路径”,输入 anonymous 作为“用户”。
- 单击完成。这就添加了新的存储库位置。
- 在新存储库位置下方,展开 HEAD 节点。
- 右键单击 org.eclipse.hyades.logging.adapter 项目并选择检出。这就在工作空间中创建了项目。
您需要创建包含新组件代码的 Java 类:
- 创建插件项目以包含新组件。
- 在该项目中创建 Java 类。根据新组件将要扮演的角色的不同,它应该实现包 org.eclipse.hyades.logging.adapter 中定义的下列其中一个接口:
- IProcessUnit
- 使用用于执行组件处理的方法来扩展 IComponent。将在组件之间传递对象数组,因此主处理方法
processEventItems 接收 Object 数组作为输入并返回
Object 数组。所有组件都必须实现 IProcessUnit。IComponent 包含用于所有组件属性的 getter 方法和 setter 方法、用于从配置中获取组件属性的 update 方法以及用于启动和停止组件的方法。
- ISensor
- 扩展 IProcessUnit。当实现传感器组件时,应该使用此接口。getNext
方法返回来自正被感知的源的下一组数据。flush 方法将来自源的已被传感器高速缓存的任何其余数据清空。该接口还包含用于传感器模式文件 sensor.xsd 中定义的传感器类型的 getter 和 setter。
- IExtractor
- 扩展 IProcessUnit。当实现抽取程序组件时,应该使用此接口。由于传感器通常将数据作为字符串返回给抽取程序,并且抽取程序从这些字符串中抽取完整的消息,所以抽取程序必须实现
processStrings 方法,该方法接收 String 数组作为输入并返回
MessageString 对象数组。MessageString 类也是在 org.eclipse.hyades.logging.adapter 包中定义的。
- IParser
- 扩展 IProcessUnit。当实现解析器组件时,应该使用此接口。
- IFormatter
- 扩展 IProcessUnit。当实现格式化程序组件时,应该使用此接口。
- IOutputter
- 扩展 IProcessUnit。当实现输出程序组件时,应该使用此接口。
在创建新的组件类时,另一个选项是扩展 org.eclipse.hyades.logging.adapter.impl
包中的 IComponent、IProcessUnit、ISensor 和
IExtractor 的缺省实现类。org.eclipse.hyades.logging.adapter
项目中的相关组件包提供了一些组件示例。
- 完成编写代码后,保存更改。
因为您正在扩展通用日志适配器类,所以必须在插件中包括通用日志适配器插件及其依赖项。
- 打开 plugin.xml 文件,然后添加下列依赖项:
org.eclipse.hyades.logging.adapter
org.eclipse.hyades.logging.core
要将插件配置为通用日志适配器的组件扩展:
- 在 plugin.xml 文件中添加下列扩展:
<extension
point="org.eclipse.hyades.logging.adapter.adapterComponent">
<componentClassname
name="executable_class_name">
</componentClassname>
</extension>
其中,executable_class_name 是为了实现新的通用日志适配器组件而创建的 Java 类的名称。
- 保存 plugin.xml 文件。
相关任务
测试定制组件
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.