第一个Activiti的HelloWorld
1.部署流程
2.启动流程
3.查看任务
4.办理任务
package com.liuzm.activiti.day1;
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.activiti.engine.task.TaskQuery;
import org.junit.Test;
/**
* Activiti框架API的使用步骤: 1. 获取核心ProcessEngine对象 2. 根据需求,获取对应的服务实例 3. 使用服务方法,做事情
*
* @author Administrator
*
*/
public class HelloWorld {
// 加载核心API ProcessEngine
private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 1.部署流程
@Test
public void deployProcess() throws Exception {
// 获取对应的服务
RepositoryService repositoryService = processEngine.getRepositoryService();
// 调用对应服务的方法,执行相关操作
DeploymentBuilder builder = repositoryService.createDeployment();
builder
.addClasspathResource("helloworld.bpmn" )
.addClasspathResource("helloworld.png");
builder.deploy();
}
// 2.启动流程
@Test
public void startProcess() throws Exception {
// 获取对应服务的service实例对象
RuntimeService runtimeService = processEngine.getRuntimeService();
// 调用服务方法,执行相关操作
String processDefinitionId = "myProcess:1:4";
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId);
System.out.println(processInstance);
}
// 3.查看任务
@Test
public void queryTask() throws Exception {
// 2. 根据查询需求,获取对应的服务对象。
TaskService taskService = processEngine.getTaskService();
// 3. 调用服务对象的,createXXXQuery方法,创建对应查询对象
TaskQuery taskQuery = taskService.createTaskQuery();
// 4. 添加查询条件
String assignee = "小强";
taskQuery.taskAssignee(assignee);
// 5. 执行查询
List<Task> list = taskQuery.list();
System.out.println("============【"+assignee+"】的私有任务列表==========================");
for (Task task : list) {
System.out.println(task);
}
}
// 4.办理任务
@Test
public void completeTask() throws Exception {
// 获取对应的服务对象
TaskService taskService = processEngine.getTaskService();
// 调用服务方法,执行相关操作
String taskId = "104";
taskService.complete(taskId);
this.queryTask();
}
}