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 クラスのコンストラクター・メソッドを使用してエミッターを作成し、既存の Common Event Infrastructure エミッターの JNDI 名と新規イベント相関範囲の ID を渡します。
その後、新規エミッターを使用して、getSituation 呼び出しを用いてアクセスされる状態オブジェクトを含む Common Base Event を作成します。setCategoryName および setReportSituation メソッドを使用して、ReportSituation でイベントを送出するための状態オブジェクトに必須データを設定します。 他の状態タイプを作成するには、setCategoryName 呼び出しで別のカテゴリー名を使用し、状態に対して別の setter メソッド呼び出しを使用します。
その他すべての必須情報は、ランタイム環境によって自動的に提供されます。
Common Base Event に必須情報が明示的に設定されている場合、この情報はデフォルト情報で上書きされません。この段階で、イベントが有効になり、sendEvent メソッドを使用してエミッターにサブミットできます。
実際のアプリケーションでは、有益なイベントには、この例に示すよりもさらに多くの情報を含める必要があります。この例では、Common Base Event 仕様および Common Event Infrastructure で必要となる最低限のプロパティーが含まれています。
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 クラスのコンストラクター・メソッドを使用してエミッターを作成し、既存の Common Event Infrastructure エミッターの JNDI 名を渡します。イベント相関範囲の ID は渡されていません (null)。そのため、新規イベント相関範囲は開始されません。
イベント相関範囲が存在する場合は、ユーザー・データ・イベントがこの相関範囲に追加されます。
その後、ユーザー・データ・プロパティーの集合が準備されます。
名前と値の組がプロパティー・リストに追加されます。
例の最後のステップでは、新規エミッターの addUserDataEvent メソッドを使用して Common Base Event を作成し、送信します。新規 Common Base Event の extensionName プロパティーは ECS:UserDataEvent に設定され、
状態は ReportSituation に設定されます。その他すべての必須情報は、ランタイム環境によって自動的に提供されます。