利用 createCommonBaseEvent 方法來建立和移入事件。 下列程式碼片段會啟動一個新的事件相互關係領域 newECSID,再利用 createCommonBaseEvent 方法來建立事件物件。如需事件相互關係領域的詳細資訊,請參閱
ECSEmitter myEmitter = new ECSEmitter("JNDI Emitter Factory Name", "newECSID");
CommonBaseEvent myEvent = myEmitter.createCommonBaseEvent("myEventType");
// 取得 Situation 物件
Situation mySituation = myEvent.getSituation();
// 設定 Situation 內容
mySituation.setCategoryName("ReportSituation");
mySituation.setReportSituation("EXTERNAL", "STATUS");
// 新增其他資訊至事件
// 傳送事件
myEmitter.sendEvent(myEvent);
這個範例利用 ECSEmitter 類別的建構子方法來建立發射器,傳遞現有共用事件基礎架構發射器的 JNDI 名稱以及新事件相互關係領域的 ID。
接著會使用新的發射器來建立一個 Common Base Event,其中包含使用 getSituation 呼叫來存取的 situation 物件。setCategoryName 和 setReportSituation 方法用來設定 Situation 物件中的必要資料,以發出含有 ReportSituation 的事件。如果要建立其他狀況類型,請在 setCategoryName 呼叫中使用不同的種類名稱,在狀況上使用不同的 setter 方法呼叫。
執行時期環境會自動提供所有其他必要的資訊。如果 Common Base Event 中已明確地設定必要資訊,則預設資訊不會改寫這項資訊。這時這個事件有效,可利用 sendEvent 方法來送交發射器。
在實際的應用程式中,有用的事件必須包括比本例所示還多的資訊,但 Common Base Event 規格和共用事件基礎架構至少需要這些內容。
利用 addUserDataEvent 方法來建立和移入事件。 下列程式碼片段利用 addUserDataEvent 方法,在現行事件相互關係領域中建立事件物件。
ECSEmitter myEmitter = new ECSEmitter("JNDI Emitter Factory Name", null);
// 準備一組使用者資料內容
Properties myUserData = new Properties();
myUserData.setProperty("UserData1","UserDataValue1");
myUserData.setProperty("UserData2","UserDataValue2");
// 建立和傳送事件
myEmitter.addUserDataEvent(myUserData);
這個範例利用 ECSEmitter 類別的建構子方法來建立發射器,傳遞現有共用事件基礎架構發射器的 JNDI 名稱。不會傳遞事件相互關係領域 ID (null),因此,不會啟動新的事件相互關係領域。
如果事件相互關係領域存在,就會將使用者資料事件新增至這個相互關係領域中。
之後,便備妥一組使用者資料內容。
名稱/值配對會新增至內容清單中。
範例中的最後一個步驟會使用新發射器的 addUserDataEvent 方法來建立及傳送 Common Base Event。新 Common Base Event 的 extensionName 內容會設為 ECS:UserDataEvent,situation 會設為 ReportSituation,所有其他必要資訊則是由執行時期環境自動提供。