diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java index 04ebcc221..c52e3b0b1 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/builder/el/LiteFlowChainELBuilder.java @@ -53,7 +53,7 @@ public class LiteFlowChainELBuilder { /** * EL解析引擎 */ - private final static ExpressRunner EXPRESS_RUNNER = new ExpressRunner(); + public final static ExpressRunner EXPRESS_RUNNER = new ExpressRunner(); static { //初始化QLExpress的Runner @@ -135,6 +135,9 @@ public class LiteFlowChainELBuilder { //往上下文里放入所有的node,使得el表达式可以直接引用到nodeId FlowBus.getNodeMap().keySet().forEach(nodeId -> context.put(nodeId, FlowBus.getNode(nodeId))); + //放入当前主chain的ID + context.put(ChainConstant.CURR_CHAIN_ID, this.chain.getChainId()); + //解析el成为一个Condition //为什么这里只是一个Condition,而不是一个List呢 //这里无论多复杂的,外面必定有一个最外层的Condition,所以这里只有一个,内部可以嵌套很多层,这点和以前的不太一样 diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/common/ChainConstant.java b/liteflow-core/src/main/java/com/yomahub/liteflow/common/ChainConstant.java index 5096d9e69..6510e9abd 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/common/ChainConstant.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/common/ChainConstant.java @@ -64,4 +64,6 @@ public interface ChainConstant { String DATA = "data"; String MONITOR_BUS = "monitorBus"; + + String CURR_CHAIN_ID = "currChainId"; }