[学习小结]Activiti5 流程实例管理
来源:互联网 发布:淘宝清洗订单后果 编辑:程序博客网 时间:2024/06/08 13:31
流程实例测试:
import java.io.InputStream;import java.util.List;import org.activiti.engine.ProcessEngine;import org.activiti.engine.ProcessEngines;import org.activiti.engine.RepositoryService;import org.activiti.engine.RuntimeService;import org.activiti.engine.TaskService;import org.activiti.engine.repository.DeploymentBuilder;import org.activiti.engine.runtime.ProcessInstance;import org.activiti.engine.task.Task;import org.junit.Test;/** * * 流程实例管理 * * 使用API的步骤: * 1.创建流程引擎ProcessEngine * 2.获取相关服务对象实例 * 3.使用服务对象相关方法完成流程操作 * @author LANHD * */public class ProcessInstanceTest {//创建流程引擎ProcessEngineprivate ProcessEngine processEngine=ProcessEngines.getDefaultProcessEngine();//获取相关服务对象实例private RepositoryService repositoryService=processEngine.getRepositoryService();private TaskService taskService=processEngine.getTaskService();private RuntimeService runtimeService=processEngine.getRuntimeService();//部署流程@Testpublic void deployProcess() throws Exception{//DeploymentBuilder deploymentBuilder=repositoryService.createDeployment();// 2.添加发布的资源文件(“流程规则文件和流程图片”)InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("LeaveFlow2.bpmn");deploymentBuilder .name("请假流程") .addInputStream("LeaveFlow2.bpmn", in); //添加规则文件// 3.完成发布:使用deploy()发布流程deploymentBuilder.deploy();}//1.启动流程@Testpublic void startProcess() throws Exception{//按照指定流程的ID启动一个流程 //String processDefinitionId="LeaveFlow:1:104"; //ProcessInstance processInstance= runtimeService.startProcessInstanceById(processDefinitionId);//使用流程定义的KEY启动流程,使用这种方式永远启动的是当前key下版本最高的一个规则String processDefinitionKey="LeaveFlow";ProcessInstance processInstance= runtimeService.startProcessInstanceByKey(processDefinitionKey);System.out.println("id:"+processInstance.getId()+",activityId:"+processInstance.getActivityId());}//2.查看任务(私有任务assignee/公有任务candidate)//2.1查看私有任务@Testpublic void queryMyTask() throws Exception{String assignee="boss";List<Task> tasks=taskService.createTaskQuery()//过滤条件.taskAssignee(assignee)//.taskDefinitionKey(key)//分页条件//.listPage(firstResult, maxResults)//排序条件.orderByTaskCreateTime().desc().list();System.out.println("========["+assignee+"]私有任务列表=======================");for(Task task:tasks){System.out.println("id:"+task.getId()+",name:"+task.getName()+",create_time:"+task.getCreateTime());}}//2.2查看公有任务@Testpublic void queryCommTask() throws Exception{String candidateUser="boss";List<Task> tasks=taskService.createTaskQuery()//过滤条件.taskCandidateUser(candidateUser)//.taskDefinitionKey(key)//分页条件//.listPage(firstResult, maxResults)//排序条件.orderByTaskCreateTime().desc().list();System.out.println("========["+candidateUser+"]可接任务列表=======================");for(Task task:tasks){System.out.println("id:"+task.getId()+",name:"+task.getName()+",create_time:"+task.getCreateTime());}}//3.认领任务@Testpublic void claimTask() throws Exception{String taskId="1002";String userId="boss";taskService.claim(taskId, userId);}//4.办理任务@Testpublic void complete(){String taskId="1102";taskService.complete(taskId);}//5.查看流程状态@Testpublic void queryProcessStatue() throws Exception {String pdId = "401";ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(pdId).singleResult();System.out.println("pid:"+processInstance.getId()+",activityId:"+processInstance.getActivityId());}}
0 0
- [学习小结]Activiti5 流程实例管理
- [学习小结]Activiti5 流程规则管理
- 三、Activiti5 流程管理
- activiti5.x入门实例学习
- JBPM学习(3):管理流程实例
- activiti5学习笔记(二)伪审批汇总流程
- Activiti5小试牛刀demo流程
- Activiti5.9 流程实例中同一个流程businessKey重复的问题
- Activiti5.9 流程实例中同一个流程businessKey重复的问题
- 流程实例管理
- 五、Activiti5 任务管理
- 项目管理流程控制小结
- jbpm学习笔记(三)--管理流程实例
- 工作流学习——Activiti流程实例、任务管理四步曲
- 工作流学习——Activiti流程实例、任务管理四步曲
- 工作流学习——Activiti流程实例、任务管理四步曲
- 工作流学习——Activiti流程实例、任务管理四步曲
- 工作流学习——Activiti流程实例、任务管理四步曲
- Apache2+tomcat6负载均衡
- ffmpeg将图片合成视频
- 队列初探
- Android手机,使用adb上传文件,下载文件和安装文件
- Peter Norvig:自学编程,十年磨一剑
- [学习小结]Activiti5 流程实例管理
- HDU 2438 Turn the corner 三分法
- 网页加速之Chromium 预加载 Prerendering
- Jersey生成Json响应的配置
- 使用adb shell dumpsys检测Android的Activity任务栈
- new与malloc的不同
- 互联网创业
- Android RGB颜色查询对照表
- 移动视频开发中横竖屏转换遇到的BUG(Android)