Activiti学习笔记
- - 企业架构 - ITeye博客第一个Activiti的HelloWorld. 获取核心ProcessEngine对象 2. 根据需求,获取对应的服务实例 3. 使用服务方法,做事情
*
* @author Administrator
*
*/
public class HelloWorld {. // 加载核心API ProcessEngine.
第一个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(); } }