变量传递有三种方法:
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);
}
}