Activiti学习笔记七 流程变量

本文详细介绍了Activiti中的流程变量,包括其作用、设置与获取方法、支持的类型以及历史查询。流程变量在工作流中起到传递业务参数的关键作用,它们在不同流程实例间互不影响,且在流程实例结束后仍保存于历史表中。文章通过实例讲解了如何在不同阶段设置和获取流程变量,并区分了setVariable与setVariableLocal的区别。
摘要由CSDN通过智能技术生成

上一篇我们看了流程执行时的流程实例,任务,和执行对象,我们接着看流程变量。

 

流程变量

1.流程图

       流程变量在整个工作流中扮演很重要的作用。例如:请假流程中有请假天数、请假原因等一些参数都为流程变量的范围。流程变量的作用域范围是只对应一个流程实例。也就是说各个流程实例的流程变量是不相互影响的。流程实例结束完成以后流程变量还保存在数据库中(存放到流程变量的历史表中)。

2.部署流程定义
    private final ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

    /**
     * 功能: 部署流程定义(从InputStream).<br/>
     * date: 2014年12月23日 下午3:40:40 <br/>
     * 
     * @author xzzhao@wisdombud.com
     */
    @Test
    public void deploymentProcessDefinitionByInputStream() {
        InputStream inputStreambpmn = this.getClass().getResourceAsStream("/diagrams/processVariables.bpmn");
        InputStream inputStreampng = this.getClass().getResourceAsStream("/diagrams/processVariables.png");
        Deployment deployment = processEngine.getRepositoryService()
        // 与流程定义和部署相关的Service
                .createDeployment()
                // 创建部署对象
                .name("流程定义")
                // 部署名称
                .addInputStream("processVariables.bpmn", inputStreambpmn) // 使用资源文件的名称,和输入流部署
                .addInputStream("processVariables.png", inputStreampng).deploy(); // 部署
        System.out.println("部署ID:" + deployment.getId());
        System.out.println("部署名称:" + deployment.getName());
    }

3.启动流程实例

 

/**
     * 功能: 启动流程实例.<br/>
     * date: 2014年12月23日 下午3:45:37 <br/>
     * 
     * @author xzzhao@wisdombud.com
     */
    @Test
    public void startProcessInstance() {
        // 流程定义的key
        String processDefinitionKey = "processVariables";
        ProcessInstance pi = processEngine.getRuntimeService()// 获取正在执行的流程实例和执行对象相关的Service
                .startProcessInstanceByKey(processDefinitionKey); // 使用流程定义的key启动流程实例
                                                                  // key
                                                                 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值