diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptCommonComponent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptCommonComponent.java index 29429082c..d73a053e1 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptCommonComponent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/ScriptCommonComponent.java @@ -1,5 +1,6 @@ package com.yomahub.liteflow.core; +import com.yomahub.liteflow.enums.ScriptTypeEnum; import com.yomahub.liteflow.log.LFLog; import com.yomahub.liteflow.log.LFLoggerManager; import com.yomahub.liteflow.script.ScriptExecuteWrap; @@ -45,6 +46,11 @@ public class ScriptCommonComponent extends NodeComponent implements ScriptCompon @Override public boolean isEnd() { + //因为如果在scriptExecutor去执行cmp的super.isEnd()方法,会引起无限循环导致栈溢出 + //这里没有更好的办法,只有硬代码判断下了 + if (!this.getRefNode().getLanguage().equals(ScriptTypeEnum.JAVA.getDisplayName())){ + return super.isEnd(); + } ScriptExecuteWrap wrap = this.buildWrap(this); return scriptExecutor.executeIsEnd(wrap); }