需求:
从我家到三亚,经过两条路线。
一、Classpath部署
import java.util.HashMap;
import java.util.Map;
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.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.junit.Before;
import org.junit.Test;
public class App {
ProcessEngine processEngine;
RepositoryService repositoryService;
RuntimeService runtimeService;
TaskService taskService;
@Before
public void init(){
processEngine = ProcessEngines.getDefaultProcessEngine();
repositoryService = processEngine.getRepositoryService();
runtimeService = processEngine.getRuntimeService();
taskService = processEngine.getTaskService();
}
/**
* 部署流程
* */
@Test
public void classPath(){
Deployment d = repositoryService.createDeployment()
.addClasspathResource("diagrams/journey2.bpmn")
.addClasspathResource("diagrams/journey2.png")
.name("旅行")
.deploy();
System.out.println(d.getId()+" "+d.getName());
}
/**
* 启动流程
* */
@Test
public void start(){
String processDefinitionKey = "journey2";//key启动
ProcessInstance processInstance = runtimeService
.startProcessInstanceByKey(processDefinitionKey);
System.out.println(processInstance.getId());
}
/**
* 查找任务
* */
@Test
public void findTask(){
Task task = taskService.createTaskQuery()
.taskAssignee("zhangsan")
.singleResult();
System.out.println(task.getName());
}
/**
* 完成任务
* */
@Test
public void complete(){
Task task = taskService.createTaskQuery()
.taskAssignee("zhangsan")
.singleResult();
Map
map = new HashMap
();
map.put("input", 2);
taskService.complete(task.getId(), map);
System.out.println("执行完毕");
}
}