新建事件可添加至事件目录。
执行此任务的目的和时间
当您创建新的事件定义并为其填充属性描述和扩展数据元素后,您就可以将它添加到事件目录中。将事件添加到事件目录中后,虽然不能修改事件定义,但可以替换它。
注: 如果启用了
WebSphere 安全性,则应用程序用户标识必须映射至 catalogAdministrator 角色以将事件定义添加至事件目录。
完成此任务需要执行的步骤
要将事件定义添加到事件目录中,请使用 addEventDefinition 方法。 boolean result = eventCatalog.addEventDefinition(definition, replace)
此方法的参数如下:
- definition
- 要添加的事件定义。这必须是 EventDefinition 的有效实例。
- replace
- 一个布尔值,指示指定事件定义是否替换同名的现有定义。
如果 replace 参数为 false,则表示指定事件定义的名称不能与目录中的任何现有事件定义相匹配。如果出现这种情况,将抛出
EventDefinitionExistsException 异常。
如果 replace 参数为 true,则新的事件定义将替换目录中已存在的、具有相同名称的现有事件定义。但是,为了保留继承层次结构,新的事件定义必须命名与旧的事件定义相同的父代;否则,将抛出
ParentNotValidException 异常。
结果
返回的布尔值指示是否替换现有事件定义。仅当 replace 为 true 并且新定义替换一个同名的事件定义时,它相当于 true。
将事件定义添加至事件目录时,事件目录向事件服务器发送事件,以通知事件使用者已发生此更改。请参阅
更改通知。
注: 如果您尝试添加违反继承规则的事件定义,将抛出 InheritanceNotValidException 异常并且不会将该事件定义添加到目录中。如果新的事件定义以无效方式覆盖继承属性或扩展数据元素描述,或者如果替换现有事件定义导致后代以无效方式覆盖继承描述,则可能发生这种情况。有关更多信息,请参阅
事件目录继承。