WebSphere WebSphere Enterprise Service Bus V6.0.1 操作系统: AIX, HP-UX, Linux, Solaris, Windows

访问事件实例元数据

访问事件实例元数据是通过基于 Java 的 Eclipse 建模框架完成的。

org.eclipse.hyades.logging.events.cbe 包是基于 Eclipse 建模框架(EMF)的,它提供使用事件对象所需的类和接口。EMF 是一个 Java 框架,用于生成基于结构化数据模型的应用程序代码;它还在生成的代码中提供各种用于访问描述数据模型的元数据的接口。(有关 EMF 的更多信息,参阅网址如下的 Eclipse 建模框架文档:http://www.eclipse.org/emf。)

通过使用这些接口,EMF 兼容工具可以与 CommonBaseEvent 事件数据进行交互而无需事先了解数据模型或访问实施。这使得开发工具能生成代码,将数据从其他数据模型传送到 CommonBaseEvent 模型。随后,应 用程序开发者可以集中精力编写使用数据的代码而非构建数据的代码。

例如,一个监视网络事件并以 EMF 描述自己的数据模型的事件源。通过访问两种数据模型,开发工具可以并列显示事件源数据模型的字段和 CommonBaseEvent 数据模型的字段。然后开发者可使用图形界面来指示事件源模型中的字段如何映射至 CommonBaseEvent 模型中的字段;例如,事件源数据模型中的字段 Workstation.name 可能对应于 CommonBaseEvent 数据模型中的字段 CommonBaseEvent.sourceComponentId.location。由于两种数据模型都是使用标准 EMF 接口描述的,所以工具可以生成处理两种模型之间的数据传送的代码。

以下代码段是一个简单示例,描述了开发工具如何使用 EMF 接口查询 CommonBaseEvent 数据模型的相关信息,随后使用该信息与事件实例进行交互。此示例可以作为简单事件使用者的一部分;它遍历事件实例的所有字段并打印每个字段的名称和值。

// event is a valid CommonBaseEvent instance

// Get list of event instance structural features (fields)
List features = event.eClass().getEAllStructuralFeatures();

// iterate through list; print names and values
for (int i = 0 ; i < features.size() ; i++)
  {
    EStructuralFeature feature = (EStructuralFeature)features.get(i);
    Object value = eObj.eGet(feature);
    System.out.println(feature.getName() + ":" + value);
  }

EMF 文件 cbe.ecore 和 cbe.genmodel 中描述了 CommonBaseEvent 数据模型。这些文件与 Common Event Infrastructure SDK 包括在一起;可将它们导入到基于 Eclipse 的开发环境中,然后使用 EMF 来生成与 CommonBaseEvent 对象交互的代码。


概念主题

使用条款 | 评价此页

Timestamp icon上次更新时间: 3 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\ccei_dev_eventMetadata.html

(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.
本信息中心基于 Eclipse 技术。(http://www.eclipse.org)