日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Activiti——HelloWorld-模拟流程执行(三)

發布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Activiti——HelloWorld-模拟流程执行(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.流程圖

【流程原圖】
【注釋圖】
??


??

2.部署流程定義

 	/*** 部署流程定義*/@Testpublic void deploymentProcessDefinition() {Deployment deployment = processEngine.getRepositoryService()// 與流程定義和部署對象相關的Service.createDeployment()// 創建一個部署對象.name("HelloWorld入門程序")// 添加部署的名稱.addClasspathResource("diagrans/helloword.bpmn")// 從類路徑(classpath)下加載文件,一次只能加載一個文件.addClasspathResource("diagrans/helloword.png")// 從類路徑(classpath)下加載文件,一次只能加載一個文件.deploy();// 完成部署System.out.println("=======打印部署對象信息========");System.out.println("流程ID:" + deployment.getId());// 流程ID:2501System.out.println("流程部署名稱:" + deployment.getName());// 流程部署名稱:HelloWorld入門程序System.out.println(deployment);// DeploymentEntity[id=1,name=HelloWorld入門程序]}
這里使用RepositoryService部署流程定義

addClasspathResource 從類路徑(classpath)下加載文件,一次只能加載一個文件

3.啟動流程實例

 /*** 啟動流程實例*/@Testpublic void startProcessInstance() {// 流程定義的KeyString processDefinitionKey = "helloworld";ProcessInstance processInstance = processEngine.getRuntimeService()// 與正在執行的流程實例和執行對象相關的Service.startProcessInstanceByKey(processDefinitionKey);// 使用流程定義的key啟動流程實例,key對應helloworld.bpmn文件中id的屬性System.out.println("流程實例ID:" + processInstance.getId());// 流程實例ID:5001System.out.println("流程定義ID:" + processInstance.getProcessDefinitionId());// 流程定義ID:helloworld:1:2504}
這里使用RuntimeService啟動流程實例


4.查看個人任務

/*** 查看我的個人任務*/@Testpublic void queryMyTasks() {String assignee = "張三";List<Task> list = processEngine.getTaskService()// 獲得任務相關的Service.createTaskQuery()// 創建任務查詢對象.taskAssignee(assignee)// 指定個人任務查詢:辦理人.list();// 任務列表打印if (list != null && list.size() > 0) {for (Task task : list) {System.out.println("任務ID:" + task.getId());System.out.println("任務名稱:" + task.getName());System.out.println("任務的創建時間:" + task.getCreateTime());System.out.println("任務的辦理人:" + task.getAssignee());System.out.println("流程實例ID:" + task.getProcessInstanceId());System.out.println("執行對象ID:" + task.getExecutionId());System.out.println("流程定義ID:" + task.getProcessDefinitionId());System.out.println("==============快樂分割線=================");}}/**打印預期效果:任務ID:5004任務名稱:提交申請任務的創建時間:Mon Jun 05 16:16:47 CST 2017任務的辦理人:張三流程實例ID:5001執行對象ID:5001流程定義ID:helloworld:1:2504==============快樂分割線=================*/}


這里使用TaskService完成任務查詢



4.完成我的任務

/*** 完成我的任務*/@Testpublic void completeMyTasks() {String taskId = "5004";processEngine.getTaskService()//獲取正在執行任務管理相關的Service.complete(taskId);System.out.println("完成的任務ID:"+taskId);}




備注:此時流程依次執行的順序是

【張三】發起申請(啟動流程實例)——> 【張三】查看個人任務并完成任務——> 【李四】查看個人任務并完成任務——>【王五】查看個人任務并完成任務——>流程結束。


源碼下載


總結

以上是生活随笔為你收集整理的Activiti——HelloWorld-模拟流程执行(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。