工作流引擎Activiti学习第五天(八)--- 连线

package com.activiti.study.sequenceFlow;

import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.repository.Deployment;
import org.activiti.engine.runtime.ProcessInstance;
import org.junit.Test;

public class SequenceFlowTest {
	
	/**
	 *加载默认的流程引擎: 加载 activiti.cfg.xml 文件 
	 */
	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

	/**
	 * 部署流程定义
	 */
	@Test
	public void testDeployProcessDefination_inputStream(){
		
		/**
		 	-- 从classPath根目录下加载指定名称的文件
			this.getClass().getClassLoader().getResourceAsStream("/diagrams/ProcessVariables.bpmn");
			
			-- 从当前包下加载指定名称的文件
			this.getClass().getResourceAsStream("diagrams/ProcessVariables.bpmn");
			
			-- 从classPath根目录下加载指定名称的文件
			this.getClass().getResourceAsStream("/diagrams/ProcessVariables.bpmn");
		 */
		
		InputStream inputStreamBpmn = this.getClass().getResourceAsStream("SequenceFlowProcess.bpmn");
		InputStream inputStreamPng = this.getClass().getResourceAsStream("SequenceFlowProcess.png");
		
		Deployment deployment = processEngine.getRepositoryService()
					.createDeployment()
					.name("SequenceFlowProcess")     //设定流程名称
					.addInputStream("SequenceFlowProcess.bpmn", inputStreamBpmn)
					.addInputStream("SequenceFlowProcess.png", inputStreamPng)
					.deploy();
		System.out.println("Id: " + deployment.getId());
		System.out.println("Name: " + deployment.getName());
		System.out.println("Category: " + deployment.getCategory());
	}
	
	/**
	 * 启动流程
	 */
	@Test
	public void testStartProcessDefination(){
		String processDefinationKey = "SequenceFlowProcess";
		ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceByKey(processDefinationKey);
		System.out.println("Key: " + pi.getBusinessKey());
		System.out.println("ActivityId: " + pi.getActivityId());
		System.out.println("DefinitionId: " + pi.getProcessDefinitionId());
		System.out.println("ProcessInstanceId: " + pi.getProcessInstanceId());
	}
	
	/**
	 * 完成任务
	 */
	@Test
	public void testCompleteTask_Unimportant(){
		String taskId = "2204";
		Map<String,Object> map = new HashMap<String,Object>();
		map.put("message", "important");
		processEngine.getTaskService().complete(taskId, map);
		System.out.println("Done.");
	}
	/**
	 * 完成任务
	 */
	@Test
	public void testCompleteTask_Important(){
		String taskId = "2303";
		processEngine.getTaskService().complete(taskId);
		System.out.println("Done.");
	}
	
	
	
}


部署流程图:




bpmn:






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值