mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 20:22:07 +08:00
1. 单测替换为默认的执行器
2. String类型的className使用Class代替
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -35,10 +35,10 @@ public class LiteflowNodeExecutorSpringbootTest extends BaseTest {
|
||||
|
||||
// 默认执行器测试
|
||||
@Test
|
||||
public void testDefaultExecutor() {
|
||||
public void testCustomerDefaultNodeExecutor() {
|
||||
LiteflowResponse<DefaultSlot> 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<DefaultSlot> 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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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<? extends NodeExecutor> getNodeExecutorClass() {
|
||||
return CustomerNodeExecutor.class;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/**
|
||||
* <p>Title: liteflow</p>
|
||||
* <p>Description: 轻量级的组件式流程框架</p>
|
||||
*
|
||||
* @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<? extends NodeExecutor> getNodeExecutorClass() {
|
||||
return CustomerNodeExecutorAndCustomRetry.class;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
liteflow.node-executor-class=com.yomahub.liteflow.test.nodeExecutor.CustomerDefaultNodeExecutor
|
||||
Reference in New Issue
Block a user