mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 04:02:09 +08:00
!347 bug:#ID22LR 当 Chain 和 组件 同名时 栈溢出
Merge pull request !347 from jay-li/dev
This commit is contained in:
@@ -363,7 +363,7 @@ public class LiteFlowChainELBuilder {
|
||||
|
||||
String[] itemArray = EXPRESS_RUNNER.getOutVarNames(chain.getEl());
|
||||
Arrays.stream(itemArray).forEach(item -> {
|
||||
if (FlowBus.containChain(item)){
|
||||
if (FlowBus.containChain(item) && !chain.getChainId().equals(item)) {
|
||||
Chain itemChain = FlowBus.getChain(item);
|
||||
if (!itemChain.isCompiled()){
|
||||
buildUnCompileChain(FlowBus.getChain(item));
|
||||
|
||||
@@ -69,4 +69,12 @@ public class LiteflowXmlScriptQLExpressELParseModeTest extends BaseTest {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// china 和组件 同名 爆栈
|
||||
@Test
|
||||
public void testScript1() {
|
||||
LiteflowResponse response = flowExecutor.execute2Resp("a", "arg");
|
||||
Assertions.assertTrue(response.isSuccess());
|
||||
Assertions.assertEquals("a==>b==>c", response.getExecuteStepStrWithoutTime());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,4 +37,8 @@
|
||||
<chain name="chain2">
|
||||
THEN(d,SWITCH(s2).to(a,b));
|
||||
</chain>
|
||||
|
||||
<chain name="a">
|
||||
THEN(a,b,c);
|
||||
</chain>
|
||||
</flow>
|
||||
Reference in New Issue
Block a user