使用 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 名称和新的事件关联范围的标识。
然后新发射器用于创建公共基本事件,其中包含使用 getSituation 调用访问的 situation 对象。setCategoryName 和 setReportSituation 方法用于设置 situation 对象中的必需数据以使用 ReportSituation 发出事件。要创建其他情况类型,请使用 setCategoryName 调用中的不同类别名称并对情况使用不同的 setter 方法调用。
所有其他必需信息由运行时环境自动提供。如果在公共基本事件中明确设置了必需信息,则缺省信息不会覆盖此信息。现在,事件是有效的并且可以使用 sendEvent 方法提交给发射器。
在实际应用程序中,有用的事件包含的信息比此示例中显示的信息要多,但是,这些属性是公共基本事件规范和
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 名称。并未传递事件关联范围标识(null),所以不会启动新的事件关联范围。如果存在事件关联范围,用户数据事件将添加到这个关联范围中。
随后将准备一组用户数据属性。名称和值对将添加到属性列表中。
示例中的最后一个步骤使用新发射器的 addUserDataEvent 方法创建和发送公共基本事件。新的公共基本事件的 extensionName
属性设置为 ECS:UserDataEvent,situation 设置为 ReportSituation,而所有其他必需信息是由运行时环境自动提供的。