activiti 流程部署以及實例(processInstance)的創建

activiti是基於bpmn4.0進行開發的,我們可以界面化的進行流程的定義,之後將其進行發佈。那麼一個流程就可以進行流程的實例化了。

在eclipse先安裝activiti editor插件利於我們圖形化的進行操作,如下圖所示,我使用AE圖形化的創建了一個流程,命名爲:test.bpmn,如下圖所示。

這樣一個流程就定義好了。在activiti中如果我們要使用這個流程,那麼首先我們就需要將其部署到對應的activiti中。這樣我們才能通過其提供的接口查詢到這個流程定義(ProcessDifinitaion),之後根據流程定義去實例化一個流程(ProcessInstance)

流程的發佈:

流程發佈前我們得先配置好數據庫等,從而獲得流程配置引擎(再次不再累述,很多地方都能知道怎麼配置),如下圖所示:


如上圖所示,流程的發佈其實就是一個資源的存儲,當我們存儲的資源是bpmn或者bpmn20.xml的時候,它默認爲這是一個流程定義資源,存儲的時候回去解析,之後在流程定義表中也去插入數據。

流程發佈之後(如上發佈了test.bpmn流程),即可使用流程

(1)查詢流程定義(ProcessDefinition)

使用的還是activiti的RepositoryService組件來查詢出我們的實例:

這是根據流程定義的key值來獲取ProcessDefinition,當然還有根據流程定義的ID等等來獲取流程定義實例的,請自行參考接口。

(2)獲得流程實例(ProcessInstance)

使用activiti另一個組件runtimeService即可開啓一個流程實例:

當流程實例開啓的時候,其默認已經在執行了其第一個任務。


結束語:

activiti:activiti就是一種工作流引擎,他又自身對工作流程的管理,它使得我們只需要去關心每一個task需要做什麼業務邏輯,而流程如何處理、執行則交由activiti自身管理。它是一個抽象、零散的東東。如上所示:

task1-->task2-->task3,有1-->3則有activiti自身管理,task1要幹什麼(具體的業務邏輯)由我們來完成,當完成一個任務的時候我們只需要告訴activiti,這個任務完成了,它自然到了下一個任務去。。。

下篇將講解activiti中task的流程。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章