事件使用端或管理工具可以利用事件存取介面,從資料儲存庫中刪除事件。
執行這項作業的原因和時機
您可以從資料儲存庫中刪除所有事件,也可以指定事件群組、事件選取器或兩者,來限制刪除的事件。
註: 如果已啟用 WebSphere 安全,應用程式使用者 ID 必須對映至 eventAdministrator 角色,才能刪除事件。
這項作業的步驟
如果要從資料儲存庫中刪除事件,請使用 Event Access 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。