activiti中实现条件判断有2中方式,==第一种在流程中指定条件,第二种使用排它网关==。
如下,简单流程
bpmn文件:/activiti-example-03/src/main/resources/processes/demo1.bpmn
选中流程那条线,然后在main config > condition中输入条件,意思就是满足定义条件时执行该流程,其中result是转账java service的返回值,这里定义${result>0},这表达式类似jsp的el表达式。
当result小于等于0,如下,
16:41:54.992 [http-nio-8080-exec-1] INFO com.eju.ess.service.WorkService - >> 调用服务1当result大于0,如下,
16:44:49.863 [http-nio-8080-exec-1] INFO com.eju.ess.service.WorkService - >> 调用服务1 16:44:49.869 [http-nio-8080-exec-1] INFO com.eju.ess.service.WorkService - >> 调用服务2 16:44:49.869 [http-nio-8080-exec-1] INFO com.eju.ess.service.WorkService - 100,在show2中显示bpmn文件:/activiti-example-03/src/main/resources/processes/demo2.bpmn
一个简单的排它网关如下,
设置方式也是在流程图线上进行设定,如下,
==排它网关会过滤左右条件,直到找到第一个为true的进行执行,有点if else==
点击这里,项目源码下载
