本文主要是介绍SpringBoot camunda,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1:默认排他网关,表达式
Type:expression:${number%200==0}
2: service task (系统自动执行用的最多):常用Delegate expression
${testGateWay}
举例:
@Component("testGateWay")
public class TestGateWay implements JavaDelegate {@Overridepublic void execute(DelegateExecution delegateExecution) {Object number = delegateExecution.getVariable("number");System.out.println("testGateWay::: number:" + number);}
}
CALL ACTIVITY:调用子流程,在子流程执行结束前主流程等待。
选择类型为BPMN,Called element:为子流程的名字,Binding 为最后一个版本。
In mapping:表示从主流程往下传参,propagation:透传所有主流程参数到子流程。
Out Mapping:表示子流程执行结束后像主流程传的参数,这里使用Source expression表示主流程接受一个子流程返回字段为 subFlag的字段。
子流程图的ID 与主流程Call element呼应,图例子流程是个User Task,在User Task执行结束前主流程等待
子流程的返回参数在End 流程新增Execution listeners,子流程结束触发,同样采用Delegate Expression.代码如下:
@Component("subEnd")
public class SubEndListener implements ExecutionListener {@Overridepublic void notify(DelegateExecution delegateExecution) {//传回给主流程 标识子流程运行结束delegateExecution.setVariable("subFlag", "1");System.out.println("子流程执行subEnd listener 准备返回主流程参数::::::::");}
}
此时,主流程就会进入到测试子流程结束的阶段,同时获取子流程返回的字段。
至此,主流程结束。
这篇关于SpringBoot camunda的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!