此規則型樣的範例用法
說明偵測完整序列的實務範例:
假設在 IT 環境中,管理者想要瞭解 DB2
® 資料堆大小的值是否會影響 WebSphere
® Application
Server,如果會,則要更正此問題。因此,如果在指定的時段內發生下列事件且次序如下,
則管理者會想要增加 DB2 資料堆大小的值,並重新啟動資料庫管理程式:
- WebSphere Application Server
資源配置異常。假設此為 WASResourceAllocationException 類型的事件。
- DB2 錯誤訊息顯示:
"沒有足夠的資料堆可處理陳述式"。假設此為 DB2NotEnoughHeap 類型的事件。
針對此實務範例,在序列規則中定義兩個 <eventSelector> 元素,
且事件必須依照編碼 <eventSelector> 元素的次序 (而不是隨機次序) 到達。第一個 <eventSelector> 元素
檢查事件
WASResourceAllocationException,
而第二個 <eventSelector> 元素則檢查事件
DB2NotEnoughHeap。
假設會在指定的時間範圍內將下列事件呈現給系統:
- WASResourceAllocationException
- DB2BackupStarted
- WASResourceAllocationException
- WASResourceAllocationException
- DB2NotEnoughHeap
規則行為如下所示:
- 接受第一個事件 WASResourceAllocationException。
因為符合第一個 <eventSelector> 元素的準則,
所以現在會在此規則的進一步事件處理程序中,將第一個 <eventSelector> 元素排除在外。
- 忽略第二個事件 DB2BackupStarted。
- 忽略第三個事件 WASResourceAllocationException。
- 忽略第四個事件 WASResourceAllocationException。
- 接受第五個事件 DB2NotEnoughHeap,並完成序列。<onDetection> 規則回應動作會執行。定義此動作,以增加 DB2 資料堆大小的值,並重新啟動資料庫管理程式。
規則回到起始狀態。
現在,此規則會在進一步事件處理程序中包括第一個 <eventSelector> 元素。
說明偵測不完整序列的實務範例:
假設企業組織要在收到訂單要求的 1 個小時之內,準備好訂單交付給客戶,並且想要在未完成時獲得通知。
針對此實務範例,在序列規則中定義兩個 <eventSelector> 元素,
且事件必須依照編碼 <eventSelector> 元素的次序 (而不是隨機次序) 到達。第一個 <eventSelector> 元素檢查
operationType=Order 的
Netsales 事件,而第二個 <eventSelector> 元素則檢查
operationType=Delivery 的
Netsales 事件。假設會在指定的 1 小時時間範圍內將下列事件呈現給系統:
- operationType=Order 的 Netsales 事件
- operationType=Order 的 Netsales 事件
規則行為如下所示:
- 接受第一個事件。因為符合第一個 <eventSelector> 元素的準則,
所以現在會在此規則的進一步事件處理程序中,將第一個 <eventSelector> 元素排除在外。
- 忽略第二個事件。
- 因為 operationType=Delivery 的 Netsales 事件未在指定時間範圍內接收,<onTimeOut> 規則回應動作即會執行。定義此動作,以通知業務專員,在收到訂單要求的 1 個小時內尚未準備好訂單交付給客戶。
規則回到起始狀態。
現在,此規則會在進一步事件處理程序中包括第一個 <eventSelector> 元素。