diff --git a/src/main/java/com/thebeastshop/liteflow/core/Component.java b/src/main/java/com/thebeastshop/liteflow/core/Component.java index 34d16aa4e..86c1a3da0 100644 --- a/src/main/java/com/thebeastshop/liteflow/core/Component.java +++ b/src/main/java/com/thebeastshop/liteflow/core/Component.java @@ -51,6 +51,10 @@ public abstract class Component { protected abstract void process() throws Exception; + protected boolean isAccess(){ + return true; + } + public boolean isContinueOnError() { return continueOnError; } diff --git a/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java b/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java index 739cba7ca..f51b11ac4 100644 --- a/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java +++ b/src/main/java/com/thebeastshop/liteflow/core/FlowExecutor.java @@ -73,7 +73,10 @@ public class FlowExecutor { for(Node node : nodeList){ component = node.getInstance(); try{ - component.setSlotIndex(slotIndex).execute(); + component.setSlotIndex(slotIndex); + if(component.isAccess()){ + component.execute(); + } }catch(Throwable t){ if(component.isContinueOnError()){ LOG.error("component[{}] cause error,but flow is still go on",t,component.getClass().getSimpleName());