测试流程如图: 我测试代码是:completeTask
package com.tgb.video;import java.util.List;import org.jbpm.api.Configuration;import org.jbpm.api.ExecutionService;import org.jbpm.api.ProcessEngine;import org.jbpm.api.ProcessInstance;import org.jbpm.api.RepositoryService;import org.jbpm.api.TaskService;import org.jbpm.api.task.Task;import junit.framework.TestCase;public class testJbpm extends TestCase{ /** * 第1步:部署流程; */ public void deploy(){ ProcessEngine processEngine=Configuration.getProcessEngine();//得到流程引擎processEngine, RepositoryService repositoryService=processEngine.getRepositoryService();//通过流程引擎得到服务 repositoryService.createDeployment().addResourceFromClasspath("test.jpdl.xml").deploy(); } /** * 第2步:创建流程实例; */ public void createInstance(){ ProcessEngine processEngine=Configuration.getProcessEngine();//得到流程引擎processEngine; ExecutionService executionService=processEngine.getExecutionService();//通过流程引擎得到流程执行服务; ProcessInstance processInstance=executionService.startProcessInstanceByKey("test"); System.out.println("流程实例ID==="+processInstance.getId()); } /** * 获取对应人员的任务 */ public void getTask(){ ProcessEngine processEngine=Configuration.getProcessEngine();//得到流程引擎processEngine; TaskService taskService=processEngine.getTaskService();//通过流程引擎得到任务服务接口// List<Task> tasks=taskService.findPersonalTasks("张三");//得到张三用户拥有的任务 List<Task> tasks=taskService.findPersonalTasks("李四");//得到李四用户拥有的任务 System.out.println("任务数量=="+tasks.size()); System.out.println("任务名称=="+tasks.get(0).getActivityName()); System.out.println("任务人员=="+tasks.get(0).getAssignee()+";任务ID=="+tasks.get(0).getId()); } /** * 查看流程实例当前所在节点。如查看请假流程到哪一步了。 */ public void getCurrectActivity(){ ProcessEngine processEngine=Configuration.getProcessEngine(); ExecutionService executionService=processEngine.getExecutionService(); String activityName=executionService.createProcessInstanceQuery().processInstanceId("test.10001").uniqueResult().findActiveActivityNames().toString(); System.out.println("当前任务所在节点==="+activityName); } /** * 完成任务:这一任务完成后,进入到下一任务。如果下一任务为end节点。那么这个流程实例就结束了。 */ public void completeTask(){ ProcessEngine processEngine=Configuration.getProcessEngine(); TaskService taskService=processEngine.getTaskService();// taskService.completeTask("10002");//完成任务id 10002,在JBPM4_TASK表的DBID字段;这个任务完成后执行到下一个任务节点 taskService.completeTask("20001");//完成任务id 20001,在JBPM4_TASK表的DBID字段; }}新闻热点
疑难解答