事件使用者或管理工具可使用事件访问接口从数据存储中删除事件。
执行此任务的目的和时间
可从数据存储中删除所有事件,或者通过指定事件组和/或事件选择器来限制被删除事件。
注: 如果启用了
WebSphere 安全性,则应用程序用户标识必须映射至 eventAdministrator 角色以删除事件。
完成此任务需要执行的步骤
要从数据存储中删除事件,使用事件访问 bean 的 purgeEvents() 方法。 int purged = eventAccess.purgeEvents(eventGroup,
eventSelector,
transactionSize);
参数如下:
- eventGroup
- 这个字符串包含包括要删除的事件的事件组的名称。此名称必须是事件基础结构配置中定义的现有事件组的名称。如果您不希望指定事件组,此参数可以为空。
- eventSelector
- 这个字符串包含标识要删除的事件的可选事件选择器。事件选择器是以 XPath 表达式的形式指定的(有关更多信息,请参阅编写事件选择器)。
如果不希望指定事件选择器,此参数可以为空。
- transactionSize
- 指定要在单个数据库事务中删除的事件数的非零整数。在大多数情况下,可以使用
EventAccess 接口定义的常量 DEFAULT_PURGE_TRANSACTION_SIZE。
结果
purgeEvents() 方法将删除与指定的所有条件匹配的所有事件。如果 eventGroup 和 eventSelector
参数都为空,将删除数据存储中的所有事件。删除操作启动后进入数据存储的事件不会被清除。返回值是一个整数,它指定已删除的事件数。
注: 如果 transactionSize
参数的值超出数据存储概要文件中定义的最大清除事务大小,将抛出
PurgeThresholdExceededException 异常并且不会删除任何事件。缺省的最大清除事务大小为
100 000。