activiti流程节点变量的设置与获取

本文介绍了在Activiti流程中设置和获取变量的三种方式:手动设置、表达式和监听程序。详细讲解了如何通过监听程序在BPMN文件中配置,并将流程部署、启动,观察act_ru_task表中的变化。还提供了测试监听程序传递变量的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量传递有三种方法:

1.手动设置

2.表达式

3.监听程序

1.手动设置变量

同理获取变量的方法:

 

 

2.表达式传递变量(流程启动时传递)

3.监听程序:

然后在bpmn的properties中设置listener

然后将bpmn文件和png文件复制并且压缩成.zip文件

部署流程,启动流程实例,刷新act_ru_task表中即可发现新增一条数据

下面是测试监听程序传递变量的代码:

package activiti.junit;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.zip.ZipInputStream;

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 TestAssignee01 {

	ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();

	@Test //1.部署流程
	//测试用表达式添加待办人
	public void testDeployDB2() throws FileNotFoundException {
		
		InputStream inputstream = new FileInputStream("D:/diagram/AssigneeProcessTest01.zip");
		ZipInputStream zipInputstream = new ZipInputStream(inputstream );
		Deployment deployment = processEngine.getRepositoryService().createDeployment()
								.name("待办人的测试01(jianting)")
								.addZipInputStream(zipInputstream )
								.deploy();
		System.out.println("deployment id: " + deployment.getId());
		System.out.println("deployment name: " + deployment.getName());
	}


	@Test//2.启动流程实例
	public void testStartProcess() {
		String key = "assigneeProcessTest01";
//		Map<String, Object> map = new HashMap<>();
//		map.put("username", "张三");
		ProcessInstance pi = processEngine.getRuntimeService().startProcessInstanceByKey(key);
	}
}

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值