要啟動流程就必須要知道有哪些流程,
可能會涉及到許可權的問題,所以啟動流程前先查詢流程定義的資訊
(流程定義的資訊放在
act_re_procdef
的表中)所以用repositoryservice中的方法查詢,可以根據act_re_procdef
表的索引去查詢
流程定義資訊查詢
repositoryservicerepositoryservice= processengine().getrepositoryservice();
listprocessdefinition=repositoryservice.createprocessdefinitionquery()
.orderbyprocessdefinitionversion().desc().list();
listprocessdefinitionlast= repositoryservice.createprocessdefinitionquery()
.orderbyprocessdefinitionversion().desc()//
查詢所有的資料
.latestversion().list();//
查詢所有流程的最新版本
for(processdefinitionpd :processdefinition)
可以根據流程定義id(startprocessinstancebyid)或者key(startprocessinstancebykey)啟動。注意:根據流程定義key:deploy_classpath,會以最新版本的流程定義啟動。在啟動流程時可以設定流程的啟動人以及流程變數
//啟動流程
@test
public
voidtest_startprocess()
//設定流程啟動人
(開始節點的執行人)
identityservice.setauthenticateduserid("by_key");
//根據流程定義
key:
deploy_classpath
,會以最新版本的流程定義啟動
Activiti 查詢歷史流程例項
使用者和管理員有時候需要統計,有多少個業務例項通過了審核,這個時候需要查詢指定流程下的已完成的流程例項,用做後期的統計 public map processstate requestparam integer num,requestparam string processdefinitionkey,...
activiti構造屬於自己的流程定義
說起actviti,很多人都會說它支援bpmn標準,它的流轉都是基於bpmn檔案來執行!但我們在設計流程時,流程定義真的只能是bpmn定義嗎?其實不然,activti可以支援任意流程定義,只要你發布流程時,將你的流程定義轉成bpmn檔案即可!分析如下 表act re model是activiti用於...
Activiti(九)刪除部署的流程定義
當我們的部署的流程定義有一天不想用了,怎麼去刪除它呢?注意 刪除部署的流程需要分為兩種情況 獲取processengine 物件建立 repositoryservice 物件獲取流程部署的id 執行刪除流程定義 public static class returndeploymentid 沒有啟動流...