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

}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章