第一個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();
}
}