`
Algernoon
  • 浏览: 22678 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Activiti学习笔记HelloWorld

 
阅读更多

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

}

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics