【入门篇】Activiti设置全局变量的四种方法

前提

大家可能会问,既然封装好了,为什么需要设置全局变量,其实对于简单的审批流程,并不需要设置全局变量,但是当存在流程判断的业务流程,这个时候就需要出一个全局变量,把控全局的流程运行情况。

代码

这里我根据燕青老师讲的,自己总结了一下,大概有四种方式。

第一种(在流程启动的时候设置全局变量)

 

//在流程启动时设置全局变量
@Test
public void startProcessInstance() {
	//得到runtimeService
	RuntimeService runtimeService = processEngine.getRuntimeService();
	//根据流程定义的key(标识)来启动一个实例,activiti找该key下版本最高的流程定义
	//一般情况下为了方便开发使用该方法启动一个流程实例
	String processDefinitionKey = "purchasingflow";
	//在流程启动时设置全局变量,第二个参数variables存储流程变量
	
	Map<String , Object> variables = new HashMap<String,Object>();
	//流程变更名称是assignee,流程变量值是“张三”
	variables.put("assignee", "张三");
	
	
	ProcessInstance processInstance = runtimeService
			.startProcessInstanceByKey(processDefinitionKey, variables);
	
	//根据流程定义的id来启动一个实例࿰
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
Activiti设置多个人办理一个任务可以通过以下步骤实现: 1. 在你的流程定义文件(通常是一个 BPMN 文件)中,找到对应的任务节点。 2. 为该任务节点添加一个或多个用户任务监听器(User Task Listener),监听器的作用是在任务创建时设置任务的候选人或候选组。 - 如果要指定具体的用户作为候选人,可以在监听器的实现类中使用 `task.addCandidateUser(userId)` 方法来添加候选人。例如: ```java public class UserTaskListener implements TaskListener { public void notify(DelegateTask delegateTask) { delegateTask.addCandidateUser("user1"); delegateTask.addCandidateUser("user2"); } } ``` - 如果要指定候选组,可以使用 `task.addCandidateGroup(groupId)` 方法来添加候选组。例如: ```java public class UserTaskListener implements TaskListener { public void notify(DelegateTask delegateTask) { delegateTask.addCandidateGroup("group1"); delegateTask.addCandidateGroup("group2"); } } ``` 3. 将监听器配置到任务节点上,在节点的属性中找到 "Execution listeners" 或 "Task listeners" 字段,添加相应的监听器类。 注意:如果你使用的是 Activiti 6 或以上版本,可以使用 `delegateExpression` 属性来指定监听器实例,而不是使用类名。 4. 保存并部署你的流程定义。 这样,当流程执行到该任务节点时,每个候选人或候选组都可以看到该任务,并进行办理。任何一个候选人完成任务后,流程会继续执行。 希望这能解答你的问题!如果还有其他疑问,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

女汉纸一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值