diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/executor/DefaultNodeExecutor.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/executor/DefaultNodeExecutor.java index 28c64d69c..148b113a6 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/executor/DefaultNodeExecutor.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/executor/DefaultNodeExecutor.java @@ -13,8 +13,6 @@ import com.yomahub.liteflow.entity.data.Slot; public class DefaultNodeExecutor extends NodeExecutor { @Override public void execute(NodeComponent instance) throws Exception { - Slot slot = DataBus.getSlot(instance.getSlotIndex()); - slot.setData("defaultNodeExecutor", DefaultNodeExecutor.class); super.execute(instance); } } diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/CustomerDefaultNodeExecutor.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/CustomerDefaultNodeExecutor.java new file mode 100644 index 000000000..d62a24c1d --- /dev/null +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/CustomerDefaultNodeExecutor.java @@ -0,0 +1,20 @@ +package com.yomahub.liteflow.test.nodeExecutor; + +import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.entity.data.DataBus; +import com.yomahub.liteflow.entity.data.Slot; +import com.yomahub.liteflow.entity.executor.NodeExecutor; + +/** + * 自定义默认的节点执行器 + */ +public class CustomerDefaultNodeExecutor extends NodeExecutor { + @Override + public void execute(NodeComponent instance) throws Exception { + Slot slot = DataBus.getSlot(instance.getSlotIndex()); + LOG.info("使用customerDefaultNodeExecutor进行执行"); + slot.setData("customerDefaultNodeExecutor", this.getClass()); + super.execute(instance); + } + +} diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/LiteflowNodeExecutorSpringbootTest.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/LiteflowNodeExecutorSpringbootTest.java index b83bcb518..03940dea7 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/LiteflowNodeExecutorSpringbootTest.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/LiteflowNodeExecutorSpringbootTest.java @@ -35,10 +35,10 @@ public class LiteflowNodeExecutorSpringbootTest extends BaseTest { // 默认执行器测试 @Test - public void testDefaultExecutor() { + public void testCustomerDefaultNodeExecutor() { LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg"); Assert.assertTrue(response.isSuccess()); - Assert.assertEquals(DefaultNodeExecutor.class, response.getSlot().getData("defaultNodeExecutor")); + Assert.assertEquals(CustomerDefaultNodeExecutor.class, response.getSlot().getData("customerDefaultNodeExecutor")); Assert.assertEquals("a", response.getSlot().getExecuteStepStr()); } @@ -47,7 +47,7 @@ public class LiteflowNodeExecutorSpringbootTest extends BaseTest { public void testDefaultExecutorForRetry() { LiteflowResponse response = flowExecutor.execute2Resp("chain2", "arg"); Assert.assertTrue(response.isSuccess()); - Assert.assertEquals(DefaultNodeExecutor.class, response.getSlot().getData("defaultNodeExecutor")); + Assert.assertEquals(CustomerDefaultNodeExecutor.class, response.getSlot().getData("customerDefaultNodeExecutor")); Assert.assertEquals("b==>b==>b", response.getSlot().getExecuteStepStr()); } diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/cmp/CCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/cmp/CCmp.java index 6762d18ad..f7ad8f770 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/cmp/CCmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/cmp/CCmp.java @@ -10,6 +10,7 @@ package com.yomahub.liteflow.test.nodeExecutor.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowRetry; import com.yomahub.liteflow.core.NodeComponent; +import com.yomahub.liteflow.entity.executor.NodeExecutor; import com.yomahub.liteflow.test.nodeExecutor.CustomerNodeExecutor; @LiteflowComponent("c") @@ -22,7 +23,7 @@ public class CCmp extends NodeComponent { } @Override - public String getNodeExecutorClass() { - return CustomerNodeExecutor.class.getName(); + public Class getNodeExecutorClass() { + return CustomerNodeExecutor.class; } } diff --git a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/cmp/DCmp.java b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/cmp/DCmp.java index d60135a03..b80d2e0af 100644 --- a/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/cmp/DCmp.java +++ b/liteflow-testcase-springboot/src/test/java/com/yomahub/liteflow/test/nodeExecutor/cmp/DCmp.java @@ -1,6 +1,7 @@ /** *

Title: liteflow

*

Description: 轻量级的组件式流程框架

+ * * @author Bryan.Zhang * @email weenyc31@163.com * @Date 2020/4/1 @@ -10,21 +11,21 @@ package com.yomahub.liteflow.test.nodeExecutor.cmp; import com.yomahub.liteflow.annotation.LiteflowComponent; import com.yomahub.liteflow.annotation.LiteflowRetry; import com.yomahub.liteflow.core.NodeComponent; -import com.yomahub.liteflow.test.nodeExecutor.CustomerNodeExecutor; +import com.yomahub.liteflow.entity.executor.NodeExecutor; import com.yomahub.liteflow.test.nodeExecutor.CustomerNodeExecutorAndCustomRetry; @LiteflowComponent("d") @LiteflowRetry(retry = 5, forExceptions = {NullPointerException.class}) public class DCmp extends NodeComponent { - @Override - public void process() { - System.out.println("DCmp executed!"); - throw new NullPointerException("demo exception"); - } + @Override + public void process() { + System.out.println("DCmp executed!"); + throw new NullPointerException("demo exception"); + } - @Override - public String getNodeExecutorClass() { - return CustomerNodeExecutorAndCustomRetry.class.getName(); - } + @Override + public Class getNodeExecutorClass() { + return CustomerNodeExecutorAndCustomRetry.class; + } } diff --git a/liteflow-testcase-springboot/src/test/resources/nodeExecutor/application.properties b/liteflow-testcase-springboot/src/test/resources/nodeExecutor/application.properties index 62a0d3a9b..b2ca1d088 100644 --- a/liteflow-testcase-springboot/src/test/resources/nodeExecutor/application.properties +++ b/liteflow-testcase-springboot/src/test/resources/nodeExecutor/application.properties @@ -1,4 +1,4 @@ liteflow.rule-source=nodeExecutor/flow.xml liteflow.retry-count=3 liteflow.slot-size=512 -liteflow.node-executor-class=com.yomahub.liteflow.entity.executor.DefaultNodeExecutor \ No newline at end of file +liteflow.node-executor-class=com.yomahub.liteflow.test.nodeExecutor.CustomerDefaultNodeExecutor \ No newline at end of file