createCommonBaseEvent メソッドを使用し、イベントを作成してデータを取り込みます。 以下のコード・フラグメントでは、新規のイベント相関範囲 newECSID を開始し、次に、createCommonBaseEvent メソッドを使用してイベント・オブジェクトを作成しています。
ECSEmitter myEmitter = new ECSEmitter("JNDI Emitter Factory Name", "newECSID");
CommonBaseEvent myEvent = myEmitter.createCommonBaseEvent("myEventType");
// get situation object
Situation mySituation = myEvent.getSituation();
// set situation properties
mySituation.setCategoryName("ReportSituation");
mySituation.setReportSituation("EXTERNAL", "STATUS");
// add other information to the the event
// send the event
myEmitter.sendEvent(myEvent);
この例では、ECSEmitter クラスのコンストラクター・メソッドを使用してエミッターを作成し、既存の共通イベント・インフラストラクチャー・エミッターの JNDI 名、および新規イベント相関範囲の識別番号を渡します。
次に、その新規のエミッターが使用されて、コモン・ベース・イベントが作成されます。
コモン・ベース・イベントには、getSituation 呼び出しを使用して関連付けられた状態オブジェクトが含まれています。
setCategoryName メソッドおよび setReportSituation メソッドは、ReportSituation でイベントを出力する状態オブジェクトに必須データを設定する場合に使用されます。
その他の状態タイプを作成するには、setCategoryName 呼び出しで別のカテゴリー名を使用し、状態に対して別の setter メソッド呼び出しを使用します。
その他のすべての必須情報は、ランタイム環境により自動的に提供されます。
必須情報がコモン・ベース・イベントで明示的に設定された場合、その情報はデフォルトの情報で上書きされません。
これで、イベントは有効になり、sendEvent メソッドを使用してエミッターに送信できます。
実際のアプリケーションでは、この例で示された情報より多くの情報が実用的なイベントに必要です。
ただし、上記のプロパティーは、コモン・ベース・イベントの仕様および共通イベント・インフラストラクチャーで最低限必要なプロパティーです。
addUserDataEvent メソッドを使用し、イベントを作成してデータを取り込みます。 以下のコード・フラグメントでは、addUserDataEvent メソッドを使用して、現行のイベント相関範囲でイベント・オブジェクトを作成しています。
ECSEmitter myEmitter = new ECSEmitter("JNDI Emitter Factory Name", null);
// prepare a set of user data properties
Properties myUserData = new Properties();
myUserData.setProperty("UserData1","UserDataValue1");
myUserData.setProperty("UserData2","UserDataValue2");
// create and send the event
myEmitter.addUserDataEvent(myUserData);
この例では、ECSEmitter クラスにコンストラクター・メソッドを使用してエミッターを作成し、既存の共通イベント・インフラストラクチャー・エミッターの JNDI 名を渡します。
イベント相関範囲 ID は渡されない (NULL) ため、新規のイベント相関範囲は開始されません。
イベント相関範囲が存在する場合は、ユーザー・データのイベントがこの相関範囲に追加されます。
次に、一連のユーザー・データ・プロパティーが準備されます。
名前と値のペアがプロパティー・リストに追加されます。
例の最後のステップでは、新規エミッターの addUserDataEvent メソッドを使用し、コモン・ベース・イベントを作成して送信しています。
新規のコモン・ベース・イベントの extensionName プロパティーは ECS:UserDataEvent に設定され、状態は ReportSituation に設定され、その他のすべての必須情報はランタイム環境により自動的に提供されます。