工作流引擎Activiti学习第四天(六)--- 流程变量第一节

来源:互联网 发布:电子科技大学网络教育学费 编辑:程序博客网 时间:2024/05/19 16:19

ProcessVariables.java
package com.activiti.study.processVariables;import java.io.InputStream;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 ProcessVariables {/** *加载默认的流程引擎: 加载 activiti.cfg.xml 文件  */ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();/** * 部署流程定义 */@Testpublic 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("/diagrams/ProcessVariables.bpmn");InputStream inputStreamPng = this.getClass().getResourceAsStream("/diagrams/ProcessVariables.png");Deployment deployment = processEngine.getRepositoryService().createDeployment().name("Process Variables Defination")     //设定流程名称.addInputStream("/diagrams/ProcessVariables.bpmn", inputStreamBpmn).addInputStream("/diagrams/ProcessVariables.png", inputStreamPng).deploy();System.out.println("Id: " + deployment.getId());System.out.println("Name: " + deployment.getName());System.out.println("Category: " + deployment.getCategory());}/** * 启动流程 */@Testpublic void testStartProcessDefination(){String processDefinationKey = "ProcessVariables";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 deleteProcessDefinition(){        //使用部署ID,完成删除        String deploymentId = "401";        /*         * 不带级联的删除         * 只能删除没有启动的流程,如果流程启动,就会抛出异常         *///        processEngine.getRepositoryService()//与流程定义和部署对象相关的Service//                        .deleteDeployment(deploymentId);        /*         * 能级联的删除         * 能删除启动的流程,会删除和当前规则相关的所有信息,正在执行的信息,也包括历史信息         */        processEngine.getRepositoryService()//与流程定义和部署对象相关的Service                        .deleteDeployment(deploymentId, true);        processEngine.getRepositoryService()//与流程定义和部署对象相关的Service        .deleteDeployment("501", true);                System.out.println("删除成功");    }    }

流程定义:











阅读全文
0 0