那如何设置,能从task1到达task3呢
时间: 2023-07-04 10:29:05 浏览: 57
要从任务节点task1到达任务节点task3,需要满足出线b的条件表达式${param2 == 'B'}成立,并且出线b的排他网关条件表达式只能激活出线d1,即${param3 == 'D1'}成立。因此,可以根据题目要求设置以下变量:
```
Map<String, Object> variables = new HashMap<>();
variables.put("param1", "A");
variables.put("param2", "B");
variables.put("param3", "D1");
```
这样,条件表达式${param2 == 'B'}和${param3 == 'D1'}都成立,可以激活出线b的d1分支,进入任务节点task3。执行taskService.complete(taskId,variables)后,任务会从任务节点task1到达任务节点task3。
相关问题
假设有一个任务节点task1,有两条出线a和b,它们的条件表达式分别为${param1 == 'A'}和${param2 == 'B'},出线b连接任务节点task2,task2出线p1连接排他网关,p1条件表单式为${param1 == 'C1'},排他网关存在两条出线d1,d2,出线d1,条件参数为${param1 == 'D1'}进入任务节点task3,出线d2,条件参数为${param1 == 'D2'}进入任务节点task4,此时运行时任务由task1执行,如何使用taskService从task1到达进ask4
要从task1到达task4,需要按照以下步骤执行:
1. 使用taskService完成task1,设置参数param1为'A'和param2为'B'。
2. 根据task1的出线条件表达式,判断应该选择哪条出线。如果param1等于'A',则选择出线a;如果param1不等于'A',则不选择出线a,而是选择出线b。
3. 如果选择了出线a,则进入任务节点task2,执行task2,并根据param1的值判断应该选择哪条出线。如果param1等于'C1',则选择出线p1;如果param1不等于'C1',则不选择出线p1,而是结束流程。
4. 如果选择了出线p1,则进入排他网关,根据param1的值判断应该选择哪条出线。如果param1等于'D1',则选择出线d1;如果param1等于'D2',则选择出线d2。
5. 如果选择了出线d1,则进入任务节点task3,执行task3。
6. 如果选择了出线d2,则进入任务节点task4,执行task4。
这样就完成了从task1到达task4的流程执行。需要注意的是,在执行每一个任务节点时,都需要设置好对应的参数值,以便后续的条件判断。
如果task1有两条出线a和b,它们的条件表达式分别为${param1 == 'A'}和${param2 == 'B'}, 出线b连接排他网关,排他网关存在两条出线d1,d2,出线d1,条件参数为${param3 == 'D1'}进入任务节点task3, 出线d2,条件参数为${param4 == 'D2'}进入任务节点task4,此时运行时任务Id为taskId,由task1运行 现在设置 Map<String, Object> variables = new HashMap<>(); variables.put("param1", "A"); variables.put("param3","D1"); 请问执行taskService.complete(taskId,variables)能到从任务节点task1到达任务节点task3么
根据题目描述,出线b连接着排他网关,而且出线d1和d2的条件表达式互斥,只有一个可以被激活。变量设置为`variables.put("param1", "A"); variables.put("param3","D1");`,这样只满足了出线a和d1的条件表达式,而出线b的条件表达式${param2 == 'B'}并未满足,因此无法激活出线b的任何一条分支,也就无法进入任务节点task3或task4。
因此,执行taskService.complete(taskId,variables)无法到达任务节点task3。如果要到达任务节点task3,可以将变量设置为`variables.put("param1", "A"); variables.put("param2","B"); variables.put("param3","D1");`,这样既满足了出线a和b的条件表达式,又满足了出线d1的条件表达式,满足进入任务节点task3的所有条件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)