546 Star 5.9K Fork 1.4K

GVPdromara / liteFlow

 / 详情

EL解析方式PRE、FINALLY在嵌套子链中不生效

已完成
创建于  
2022-11-23 13:28

场景:在XML中解析正常,EL方式中解析不正常!
举例:
chain=THEN(THEN(PRE(A3),B1,FINALLY(A1)),THEN(A2,B2));
THEN(chain);
预期结果:
A3——>B1——>A1——>A2——>B2
实际结果:
B1——>A2——>B2
问题:
非第一层的PRE和FINALLY不会被执行。

需求:
EL表达式中PRE、FINALLY应该在自身所在作用域中生效,而不必关心自身是否在第一层中

评论 (4)

一念成佛 创建了任务
一念成佛 修改了描述
一念成佛 修改了标题
一念成佛 修改了描述
一念成佛 修改了描述
展开全部操作日志

这个关于底层结构的问题,初看了下,并不太好解决

2.9.4版本无法提供,后续再看

期待早点解决

我看了下,现在是可以支持的。但是一定要多chain嵌套结构才可以支持。
因为pre和finally是在chain中被执行的。所以你上述的应该这么写

chain1=THEN(chain2,THEN(A2,B2));

chain2=THEN(PRE(A3), B1, FINALLY(A1));

在同一个chain中嵌套PRE和FINNALY目前无法实现

但是不同chain中嵌套是可以支持的。建议你换成以上形式

铂赛东 任务状态待办的 修改为进行中
铂赛东 负责人设置为铂赛东
铂赛东 添加了
 
question
标签
铂赛东 任务状态进行中 修改为已完成
铂赛东 任务状态已完成 修改为待办的
铂赛东 添加了
 
feature
标签
铂赛东 移除了
 
question
标签
铂赛东 任务状态待办的 修改为进行中
铂赛东 添加了
 
enhancement
标签
铂赛东 移除了
 
feature
标签
铂赛东 任务状态进行中 修改为已完成
铂赛东 关联分支设置为v2.9.5

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1102362 bryan31 1578940308
Java
1
https://gitee.com/dromara/liteFlow.git
git@gitee.com:dromara/liteFlow.git
dromara
liteFlow
liteFlow

搜索帮助