WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 作業系統: AIX, HP-UX, Linux, Solaris, Windows

存取事件實例 Meta 資料

存取事件實例 Meta 資料是透過 Java 型的 Eclipse 建模組織架構來完成。

org.eclipse.hyades.logging.events.cbe 套件是以「Eclipse 建模組織架構」(EMF) 為基礎, 其會提供使用事件物件所需的類別和介面。EMF 是個用來根據結構化資料模型產生應用程式程式碼的 Java 組織架構; 其也會在產生的程式碼中提供可用來存取 Meta 資料(說明資料模型)的介面。(請參閱「Eclipse 建模組織架構」說明文件(位於 http://www.eclipse.org/emf) ,以取得 EMF 的詳細資訊。)

藉由使用這些介面,EMF 相容工具就可以與 CommonBaseEvent 事件資料互動, 無需預先瞭解資料模型或存取實作。這使得開發工具可以產生將資料從其他資料模型轉送至 CommonBaseEvent 模型的程式碼。然後應用程式開發人員就可以專注於撰寫使用資料的程式碼, 而非建置資料的程式碼。

例如, 請考量監視網路事件以及在 EMF 方面說明其所屬資料模型的事件來源。藉由存取這兩種資料模型, 開發工具可以沿著 CommonBaseEvent 資料模型的欄位,顯示事件來源資料模型的欄位。然後開發人員可以利用圖形式介面 來指出事件來源模型中的欄位如何對映至 CommonBaseEvent 模型中的欄位; 比方說,事件來源資料模型中稱為 Workstation.name 的欄位可能會對應至 CommonBaseEvent 資料模型中的 CommonBaseEvent.sourceComponentId.location 欄位。由於這兩個資料模型都是使用標準 EMF 介面來說明,因此工具可以產生程式碼來處理兩個模型間之的資料轉送。

下列程式碼片段是一個簡單的範例, 說明開發工具如何使用 EMF 介面來查詢 CommonBaseEvent 資料模型的相關資訊, 然後使用該資訊來與事件實例互動。這個範例可能為簡單的事件使用端的一部分; 它重複事件實例的所有欄位,並針對每一個欄位,列印欄位的名稱和值。

// 事件是有效的 CommonBaseEvent 實例

// 取得事件實例結構化特性(欄位)的清單
List features = event.eClass().getEAllStructuralFeatures();

// 重複所有清單;列印名稱和值
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);
  }

CommonBaseEvent 資料模型說明於 EMF 檔案 cbe.ecore 和 cbe.genmodel 中。這些檔案隨附於共用事件基礎架構中; 您可以將它們匯入 Eclipse 型開發環境,然後使用 EMF 來產生與 CommonBaseEvent 物件互動的程式碼。


Concept topic

使用條款 | 此頁的評等

「時間戳記」圖示前次更新: 5 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. All Rights Reserved.
本資訊中心採用 Eclipse 技術。(http://www.eclipse.org)