Flowable工作流引擎核心事件詳細解釋說明
流程執行事件
需要了解全部詳細事件的請看這個鏈接Flowable(一個開源的工作流和業務流程管理引擎)中與事件相關的一些核心概念
流程開始和結束事件
- PROCESS_STARTED:標記流程實例的開始。
- PROCESS_COMPLETED:標記流程實例的結束。
活動實例事件
- HISTORIC_ACTIVITY_INSTANCE_CREATED:記錄流程中各個活動(如用戶任務、服務任務等)的創建。
- HISTORIC_ACTIVITY_INSTANCE_ENDED:記錄流程中各個活動的結束。
歷史和審計事件
- HISTORIC_PROCESS_INSTANCE_CREATED:記錄流程實例的創建,用于后續審計或分析。
- HISTORIC_PROCESS_INSTANCE_ENDED:記錄流程實例的結束,同樣用于審計或分析。
錯誤和異常處理事件
- PROCESS_COMPLETED_WITH_ERROR_END_EVENT:標記流程中錯誤或異常的發生,以及因此導致的流程終止。
流程、案例和階段管理
案例和階段事件
- CASE_STARTED:標記案例的開始。
- CASE_ENDED:標記案例的結束。
- STAGE_STARTED:標記階段的開始。
- STAGE_ENDED:標記階段的結束。
租戶ID變更事件
- 租戶ID變更:在多租戶環境中,用于記錄流程實例、任務或其他實體的租戶ID的變更。
自定義事件
Flowable 允許用戶定義自己的事件類型,并在流程執行過程中觸發這些事件,以滿足特定的業務需求。這些事件是Flowable引擎中流程管理和監控的重要組成部分。
實體相關事件
ENTITY_CREATED
- 觸發時機:當一個新的實體(如流程定義、任務、變量等)被創建時觸發。
- 示例:用戶上傳了一個新的BPMN文件,Flowable解析該文件并創建了一個流程定義,此時會觸發ENTITY_CREATED事件。
ENTITY_INITIALIZED
- 觸發時機:實體被初始化但尚未完全創建時觸發(這個事件在某些上下文中可能不常見,具體取決于Flowable的版本和配置)。
- 示例:在一些高級場景中,實體可能需要經過多個初始化步驟后才能被視為完全創建。每個初始化步驟完成時,可能會觸發ENTITY_INITIALIZED事件(但請注意,這個示例可能因Flowable的具體實現而異)。
ENTITY_UPDATED
- 觸發時機:當實體(如流程定義、任務、變量等)的屬性被更新時觸發。
- 示例:用戶修改了任務的截止日期,此時會觸發ENTITY_UPDATED事件。
ENTITY_DELETED
- 觸發時機:當實體(如流程定義、任務、變量等)被刪除時觸發。
- 示例:用戶刪除了一個流程實例,此時會觸發ENTITY_DELETED事件。
ENTITY_SUSPENDED, ENTITY_ACTIVATED
- 觸發時機:與實體的掛起和激活狀態相關。
- 示例:管理員將某個流程定義掛起,此時會觸發ENTITY_SUSPENDED事件。之后,如果該流程定義被重新激活,則會觸發ENTITY_ACTIVATED事件。
定時器和作業相關事件
TIMER_SCHEDULED, TIMER_FIRED
- TIMER_SCHEDULED:與定時器的調度相關。
- TIMER_FIRED:與定時器的觸發相關。
- 示例:流程中定義了一個定時器,該定時器在特定時間被調度(TIMER_SCHEDULED),并在達到預定時間時觸發(TIMER_FIRED),從而執行某個操作。
JOB_CANCELED, JOB_EXECUTION_SUCCESS, JOB_EXECUTION_FAIL
- JOB_CANCELED:作業被取消時觸發。
- JOB_EXECUTION_SUCCESS:作業執行成功時觸發。
- JOB_EXECUTION_FAIL:作業執行失敗時觸發。
這些事件為Flowable引擎提供了豐富的流程執行過程中的實時和歷史信息,有助于流程設計者、管理者和審計人員了解流程的運行狀態和性能。同時,通過監聽和處理這些事件,開發者可以實現復雜的業務流程邏輯和自動化任務。