Activiti_安裝 以及demo_第1頁
Activiti_安裝 以及demo_第2頁
Activiti_安裝 以及demo_第3頁
Activiti_安裝 以及demo_第4頁
Activiti_安裝 以及demo_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選文檔 Activiti 學習一 搭建一個Activiti開發環境1. 在eclipse中點擊“Add”在Name選項中填寫一個名稱Location: /designer/update/點擊“ok“再點擊“下一步”選擇紅色 點擊“Finish”安裝activiti完成。 創建Activiti 會簽二 創建一個Activiti project 1. 點擊“下一步”填寫一個項目名稱點擊完成2. 選擇剛建的項目選擇“下一步”點擊“Finish”打開diagrams下的MyProcess1.activiti 在里面畫流程圖切記要填寫的值 Main config是節

2、點的用 #鍵 表示一個任務人假如是線節點 表推斷的時候 帶參數要$鍵 表示要傳入的指 假如任務節點中沒寫“任務人” 則會報錯,致使不會生成XML描述文件。 <userTask id="usertask3" name="會簽" activiti:assignee="#huiqian"> <extensionElements> <activiti:taskListener event="create" class="com.listener.Mylistener">

3、;</activiti:taskListener> <activiti:taskListener event="complete" class="com.listener.Mylistener"></activiti:taskListener> </extensionElements> <multiInstanceLoopCharacteristics isSequential="false"> <loopDataInputRef>assigneeList<

4、/loopDataInputRef> <inputDataItem name="huiqian"></inputDataItem> <completionCondition>$result != 2 </completionCondition> </multiInstanceLoopCharacteristics> </userTask>Java 代碼:package com.listener;import java.util.ArrayList;import java.util.List;imp

5、ort org.activiti.engine.delegate.DelegateTask;import org.activiti.engine.delegate.TaskListener;public class Mylistener implements TaskListener private static int a=0;public void notify(DelegateTask delegateTask) / 獵取大事名稱String eventName = delegateTask.getEventName();/ 獵取任務idString taskId = delegateT

6、ask.getId();/ 獵取節點鍵String taskKey = delegateTask.getTaskDefinitionKey(); /userTask3/ 獵取流程定義編號String procDefId = delegateTask.getProcessDefinitionId();/ 獵取流程實例編號String procInstId = delegateTask.getProcessInstanceId();/ 獵取節點名稱List<String> list = (ArrayList<String>)delegateTask.getVariable(

7、"assigneeList");if ("create".equals(eventName) /初始化會簽人員信息/初始化業務規章 else if ("complete".equals(eventName) /執行業務規章if(delegateTask.getAssignee().toString().trim().equals("zhangsan")delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("

8、result", 2);if(delegateTask.getAssignee().toString().trim().equals("lisi")delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("result", 2);if(delegateTask.getAssignee().toString().trim().equals("libo")delegateTask.setVariable("result&q

9、uot;, 1);elsedelegateTask.setVariable("result", 2);if(delegateTask.getAssignee().toString().trim().equals("xiao")delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("result", 2);if(delegateTask.getAssignee().toString().trim().equals("haha&q

10、uot;)delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("result", 2);if(delegateTask.getAssignee().toString().trim().equals("yunsi")delegateTask.setVariable("result", 1);elsedelegateTask.setVariable("result", 2);Java 測試:package com.li

11、stener;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngineConfiguration;import org.activiti.engine.RepositoryService;import org.activiti.engine.RuntimeService;import org.activ

12、iti.engine.TaskService;import org.activiti.engine.repository.Deployment;import org.activiti.engine.repository.ProcessDefinition;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;public class Test org.junit.Testpublic void bbTest() / 創建一個流程數據源的配置ProcessEngine pro

13、cessEngine = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("diagrams/activiti.cfg.xml").buildProcessEngine();/ 獵取數據源連接的服務RepositoryService repositoryService = processEngine.getRepositoryService();/ 讀取配置流程配置文件對象Deployment deployment = repositoryService.createDeploy

14、ment().addClasspathResource("diagrams/MyProcess.bpmn20.xml").deploy();/ 發布到數據庫中ProcessDefinition pdf = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId().singleResult();/ 開啟一個服務RuntimeService runtimeService = processEngine.getRuntimeService(); /* * 定義流程中的參數 */

15、 建立一個集合存放流程中的參數Map<String, Object> model = new HashMap<String, Object>();/ 開啟流程的人model.put("user", "胖子");/ 行政審核人model.put("manager", "肖正偉");/ 審核結果model.put("backtrack", "yes");/ 會簽 (將全部參與會簽的人放入list集合中)List<String> list = n

16、ew ArrayList<String>();list.add("zhangsan");list.add("lisi");list.add("libo");list.add("xiao");list.add("haha");list.add("yunsi");/ 把list結合放入集合中model.put("assigneeList", list);/ 開啟一個流程ProcessInstance pi = runtimeService.star

17、tProcessInstanceById(pdf.getId(), model);/ 節點服務TaskService service = processEngine.getTaskService();/ 獵取節點/* * 擬稿 */List<Task> tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee("胖子").list();for (Task task : tasks) plete(task.getId();System.out

18、.println(task.getName();/ 行政審核節點tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee("肖正偉").list();for (Task task : tasks) plete(task.getId();System.out.println("行政部經理審核");/* * * * */tasks = service.createTaskQuery().processInstanceId(pi.getP

19、rocessInstanceId().taskAssignee("zhangsan").list();for (Task task2 : tasks) plete(task2.getId();System.out.println(task2.getAssignee();/* * * */tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee("lisi").list();for (Task task : tasks) plete(task.getId();System.out.println(task.getAssignee();tasks = service.createTaskQuery().processInstanceId(pi.getProcessInstanceId().taskAssignee("libo").list();for (Task task : task

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論