From 94697d3d9de3a8097a1bef4141e23024f4018f08 Mon Sep 17 00:00:00 2001 From: "meng.li" Date: Mon, 29 Mar 2021 23:12:54 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[bug][I3CT49]=E8=BF=9E=E7=BB=AD=E7=9A=84whe?= =?UTF-8?q?n=E6=A0=87=E7=AD=BE=EF=BC=8C=E4=B9=8B=E9=97=B4=E5=B9=B6?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=E5=AE=8C=E5=85=A8=E5=B9=B6=E8=A1=8C=E7=9A=84?= =?UTF-8?q?=20=E6=B3=A8=E9=87=8A=EF=BC=9A=E8=BF=9E=E7=BB=ADnode=20when?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=90=8Cgroupid=20=E6=88=96=E8=80=85?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=BF=9B=E8=A1=8C=E5=90=88=E5=B9=B6=20?= =?UTF-8?q?=E5=B9=B6=E4=B8=94=E6=8A=A5=E9=94=99=E8=BF=9B=E8=A1=8C=E6=A0=87?= =?UTF-8?q?=E5=BF=97=20=E5=90=91=E4=B8=8B=E4=BC=A0=E9=80=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/LocalDefaultFlowConent.java | 5 ++ .../liteflow/entity/flow/Condition.java | 22 +++++++++ .../liteflow/entity/flow/WhenCondition.java | 10 ++-- .../liteflow/parser/XmlFlowParser.java | 31 +++++++++--- .../flowtest/concurrent/TestGroupIdFlow.java | 49 +++++++++++++++++++ .../src/test/resources/config/flow-test.xml | 6 +++ 6 files changed, 110 insertions(+), 13 deletions(-) create mode 100644 liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConent.java create mode 100644 liteflow-test-springboot/src/test/java/com/yomahub/flowtest/concurrent/TestGroupIdFlow.java diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConent.java new file mode 100644 index 000000000..511663692 --- /dev/null +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConent.java @@ -0,0 +1,5 @@ +package com.yomahub.liteflow.common; + +public class LocalDefaultFlowConent { + public static final String DEFAULT="default"; +} diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java index cf4a9d39a..f1ce3984f 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java @@ -7,6 +7,8 @@ */ package com.yomahub.liteflow.entity.flow; +import com.yomahub.liteflow.common.LocalDefaultFlowConent; + import java.util.List; /** @@ -14,6 +16,10 @@ import java.util.List; * @author Bryan.Zhang */ public class Condition { + // 增加errorResume属性,以区分当when调用链调用失败时是否继续往下执行 默认true继续执行 + private boolean errorResume; + // 增加groupId属性,用于不同node进行同组合并 + private String groupId = LocalDefaultFlowConent.DEFAULT; private List nodeList; @@ -28,4 +34,20 @@ public class Condition { public void setNodeList(List nodeList) { this.nodeList = nodeList; } + + public boolean isErrorResume() { + return errorResume; + } + + public void setErrorResume(boolean errorResume) { + this.errorResume = errorResume; + } + + public String getGroupId() { + return groupId; + } + + public void setGroupId(String groupId) { + this.groupId = groupId; + } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/WhenCondition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/WhenCondition.java index 13a202537..214626b7c 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/WhenCondition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/WhenCondition.java @@ -14,20 +14,16 @@ import java.util.List; * @author Bryan.Zhang */ public class WhenCondition extends Condition{ - // 增加errorResume属性,以区分当when调用链调用失败时是否继续往下执行 - private boolean errorResume; + public WhenCondition(List nodeList) { super(nodeList); - errorResume = true; + super.setErrorResume(true); } public WhenCondition(List nodeList, boolean errorResume) { super(nodeList); - this.errorResume = errorResume; + super.setErrorResume(errorResume); } - public boolean isErrorResume() { - return errorResume; - } } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java index 45c5678d5..39e86e397 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java @@ -8,6 +8,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import cn.hutool.core.util.StrUtil; +import com.yomahub.liteflow.common.LocalDefaultFlowConent; import com.yomahub.liteflow.entity.flow.*; import com.yomahub.liteflow.exception.ExecutableItemNotFoundException; import com.yomahub.liteflow.exception.ParseException; @@ -92,6 +93,8 @@ public abstract class XmlFlowParser { private void parseOneChain(Element e) throws Exception{ String condArrayStr; String[] condArray; + String groupId; + String errorResume; List chainNodeList; List conditionList; @@ -100,9 +103,17 @@ public abstract class XmlFlowParser { for (Iterator it = e.elementIterator(); it.hasNext();) { Element condE = it.next(); condArrayStr = condE.attributeValue("value"); + errorResume = e.attributeValue("errorResume"); + groupId = e.attributeValue("groupId"); if (StrUtil.isBlank(condArrayStr)) { continue; } + if (StrUtil.isBlank(groupId)) { + groupId = LocalDefaultFlowConent.DEFAULT; + } + if (StrUtil.isBlank(errorResume)) { + errorResume = Boolean.TRUE.toString(); + } chainNodeList = new ArrayList<>(); condArray = condArrayStr.split(","); RegexEntity regexEntity; @@ -136,14 +147,22 @@ public abstract class XmlFlowParser { throw new ExecutableItemNotFoundException(errorMsg); } } + + if (condE.getName().equals("then")) { - conditionList.add(new ThenCondition(chainNodeList)); + if(conditionList.size() > 1 && + conditionList.get(conditionList.size() - 1) instanceof ThenCondition ){ + conditionList.get(conditionList.size() - 1).getNodeList().addAll(chainNodeList); + }else{ + conditionList.add(new ThenCondition(chainNodeList)); + } } else if (condE.getName().equals("when")) { - Attribute errorResume = condE.attribute("errorResume"); - if (errorResume != null) { - conditionList.add(new WhenCondition(chainNodeList, errorResume.getValue().equals(Boolean.TRUE.toString()))); - } else { - conditionList.add(new WhenCondition(chainNodeList)); + if(conditionList.size() > 1 && + conditionList.get(conditionList.size() - 1) instanceof WhenCondition && + conditionList.get(conditionList.size() - 1).getGroupId().equals(groupId)){ + conditionList.get(conditionList.size() - 1).getNodeList().addAll(chainNodeList); + }else{ + conditionList.add(new WhenCondition(chainNodeList, errorResume.equals(Boolean.TRUE.toString()))); } } } diff --git a/liteflow-test-springboot/src/test/java/com/yomahub/flowtest/concurrent/TestGroupIdFlow.java b/liteflow-test-springboot/src/test/java/com/yomahub/flowtest/concurrent/TestGroupIdFlow.java new file mode 100644 index 000000000..df390d9b5 --- /dev/null +++ b/liteflow-test-springboot/src/test/java/com/yomahub/flowtest/concurrent/TestGroupIdFlow.java @@ -0,0 +1,49 @@ +package com.yomahub.flowtest.concurrent; + +import com.yomahub.liteflow.core.FlowExecutor; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.annotation.Resource; +import java.util.Arrays; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + +import static com.yomahub.flowtest.concurrent.ConcurrentCase.caseAssertRandom; +import static com.yomahub.flowtest.concurrent.ConcurrentCase.caseInit; + +/** + * 测试流程的顺序执行、并发执行等 + * @author justin.xu + */ +@ActiveProfiles("test") +@RunWith(SpringRunner.class) +@SpringBootTest +public class TestGroupIdFlow { + + @Resource + private FlowExecutor flowExecutor; + + private String init(List steps) { + + String requestId = UUID.randomUUID().toString(); + + caseInit(requestId, steps.stream().map(ConcurrentCase.Routers::new).collect(Collectors.toList())); + + return requestId; + } + + @Test + public void whenConditionGroupTest() throws Exception { + //由于errorResume,即使p5执行失败抛出异常, p7, p8也将会执行 + String requestId = init(Arrays.asList("s1", "s2", "s3", "s4", "s5", "s6", "p3", "p4", "p6", "p7", "p8")); + + flowExecutor.execute("test-groupId", requestId); + + caseAssertRandom(requestId); + } +} diff --git a/liteflow-test-springboot/src/test/resources/config/flow-test.xml b/liteflow-test-springboot/src/test/resources/config/flow-test.xml index 7bdc30870..575a6da5b 100644 --- a/liteflow-test-springboot/src/test/resources/config/flow-test.xml +++ b/liteflow-test-springboot/src/test/resources/config/flow-test.xml @@ -24,4 +24,10 @@ + + + + + + From b9f9fda863673bd005b1da59be0ad2072d5749c4 Mon Sep 17 00:00:00 2001 From: bryan31 Date: Tue, 30 Mar 2021 23:18:16 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=20enhancement=20#I3CT11=20=E8=83=BD?= =?UTF-8?q?=E5=AF=B9=E4=BB=BB=E6=84=8F=E5=8C=85=E7=9A=84=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E8=BF=9B=E8=A1=8C=E5=88=87=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springboot/LiteflowComponentScannerAutoConfiguration.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowComponentScannerAutoConfiguration.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowComponentScannerAutoConfiguration.java index a415dbf8c..efeb21516 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowComponentScannerAutoConfiguration.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowComponentScannerAutoConfiguration.java @@ -3,14 +3,12 @@ package com.yomahub.liteflow.springboot; import com.yomahub.liteflow.spring.ComponentScaner; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.EnableAspectJAutoProxy; /** * 组件扫描器自动装配类 * @author Bryan.Zhang */ @Configuration -@EnableAspectJAutoProxy(exposeProxy = true) public class LiteflowComponentScannerAutoConfiguration { @Bean From d54790fbf9e3098eb8971079b2aecde5a13980b6 Mon Sep 17 00:00:00 2001 From: "meng.li" Date: Tue, 30 Mar 2021 23:48:34 +0800 Subject: [PATCH 3/6] =?UTF-8?q?[bug][I3CT49]=E8=BF=9E=E7=BB=AD=E7=9A=84whe?= =?UTF-8?q?n=E6=A0=87=E7=AD=BE=EF=BC=8C=E4=B9=8B=E9=97=B4=E5=B9=B6?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=E5=AE=8C=E5=85=A8=E5=B9=B6=E8=A1=8C=E7=9A=84?= =?UTF-8?q?=20=E6=B3=A8=E9=87=8A=EF=BC=9A=E8=BF=9E=E7=BB=ADnode=20when?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=90=8Cgroupid=20=E6=88=96=E8=80=85?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=BF=9B=E8=A1=8C=E5=90=88=E5=B9=B6=20?= =?UTF-8?q?=E5=B9=B6=E4=B8=94=E6=8A=A5=E9=94=99=E8=BF=9B=E8=A1=8C=E6=A0=87?= =?UTF-8?q?=E5=BF=97=20=E5=90=91=E4=B8=8B=E4=BC=A0=E9=80=92=201.groupId=20?= =?UTF-8?q?->=20group=202.errorResume=20->=20default=20true?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/entity/flow/Condition.java | 2 +- .../com/yomahub/liteflow/parser/XmlFlowParser.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java index f1ce3984f..70b1cffc9 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java @@ -17,7 +17,7 @@ import java.util.List; */ public class Condition { // 增加errorResume属性,以区分当when调用链调用失败时是否继续往下执行 默认true继续执行 - private boolean errorResume; + private boolean errorResume = true; // 增加groupId属性,用于不同node进行同组合并 private String groupId = LocalDefaultFlowConent.DEFAULT; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java index 39e86e397..8db8df72e 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java @@ -93,7 +93,7 @@ public abstract class XmlFlowParser { private void parseOneChain(Element e) throws Exception{ String condArrayStr; String[] condArray; - String groupId; + String group; String errorResume; List chainNodeList; List conditionList; @@ -104,12 +104,12 @@ public abstract class XmlFlowParser { Element condE = it.next(); condArrayStr = condE.attributeValue("value"); errorResume = e.attributeValue("errorResume"); - groupId = e.attributeValue("groupId"); + group = e.attributeValue("group"); if (StrUtil.isBlank(condArrayStr)) { continue; } - if (StrUtil.isBlank(groupId)) { - groupId = LocalDefaultFlowConent.DEFAULT; + if (StrUtil.isBlank(group)) { + group = LocalDefaultFlowConent.DEFAULT; } if (StrUtil.isBlank(errorResume)) { errorResume = Boolean.TRUE.toString(); @@ -159,7 +159,7 @@ public abstract class XmlFlowParser { } else if (condE.getName().equals("when")) { if(conditionList.size() > 1 && conditionList.get(conditionList.size() - 1) instanceof WhenCondition && - conditionList.get(conditionList.size() - 1).getGroupId().equals(groupId)){ + conditionList.get(conditionList.size() - 1).getGroupId().equals(group)){ conditionList.get(conditionList.size() - 1).getNodeList().addAll(chainNodeList); }else{ conditionList.add(new WhenCondition(chainNodeList, errorResume.equals(Boolean.TRUE.toString()))); From 6d972f668f76ecad2161d3df6bcaee40ac3e57de Mon Sep 17 00:00:00 2001 From: "meng.li" Date: Tue, 30 Mar 2021 23:50:06 +0800 Subject: [PATCH 4/6] =?UTF-8?q?[bug][I3CT49]=E8=BF=9E=E7=BB=AD=E7=9A=84whe?= =?UTF-8?q?n=E6=A0=87=E7=AD=BE=EF=BC=8C=E4=B9=8B=E9=97=B4=E5=B9=B6?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=E5=AE=8C=E5=85=A8=E5=B9=B6=E8=A1=8C=E7=9A=84?= =?UTF-8?q?=20=E6=B3=A8=E9=87=8A=EF=BC=9A=E8=BF=9E=E7=BB=ADnode=20when?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E5=90=8Cgroupid=20=E6=88=96=E8=80=85?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E8=BF=9B=E8=A1=8C=E5=90=88=E5=B9=B6=20?= =?UTF-8?q?=E5=B9=B6=E4=B8=94=E6=8A=A5=E9=94=99=E8=BF=9B=E8=A1=8C=E6=A0=87?= =?UTF-8?q?=E5=BF=97=20=E5=90=91=E4=B8=8B=E4=BC=A0=E9=80=92=203.Collection?= =?UTF-8?q?Util.getLast(conditionList)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/parser/XmlFlowParser.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java index 8db8df72e..bd73bafcc 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java @@ -7,6 +7,7 @@ import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.yomahub.liteflow.common.LocalDefaultFlowConent; import com.yomahub.liteflow.entity.flow.*; @@ -151,16 +152,16 @@ public abstract class XmlFlowParser { if (condE.getName().equals("then")) { if(conditionList.size() > 1 && - conditionList.get(conditionList.size() - 1) instanceof ThenCondition ){ - conditionList.get(conditionList.size() - 1).getNodeList().addAll(chainNodeList); + CollectionUtil.getLast(conditionList) instanceof ThenCondition ){ + CollectionUtil.getLast(conditionList).getNodeList().addAll(chainNodeList); }else{ conditionList.add(new ThenCondition(chainNodeList)); } } else if (condE.getName().equals("when")) { if(conditionList.size() > 1 && - conditionList.get(conditionList.size() - 1) instanceof WhenCondition && - conditionList.get(conditionList.size() - 1).getGroupId().equals(group)){ - conditionList.get(conditionList.size() - 1).getNodeList().addAll(chainNodeList); + CollectionUtil.getLast(conditionList) instanceof WhenCondition && + CollectionUtil.getLast(conditionList).getGroupId().equals(group)){ + CollectionUtil.getLast(conditionList).getNodeList().addAll(chainNodeList); }else{ conditionList.add(new WhenCondition(chainNodeList, errorResume.equals(Boolean.TRUE.toString()))); } From 203853c1425716b7c985d8e8913c3a78cc738777 Mon Sep 17 00:00:00 2001 From: "meng.li" <53835420> Date: Wed, 31 Mar 2021 09:29:42 +0800 Subject: [PATCH 5/6] =?UTF-8?q?[BUG][I3CT49]=E8=BF=9E=E7=BB=AD=E7=9A=84whe?= =?UTF-8?q?n=E6=A0=87=E7=AD=BE=EF=BC=8C=E4=B9=8B=E9=97=B4=E5=B9=B6?= =?UTF-8?q?=E4=B8=8D=E6=98=AF=E5=AE=8C=E5=85=A8=E5=B9=B6=E8=A1=8C=E7=9A=84?= =?UTF-8?q?=20=E7=B1=BB=E5=91=BD=E5=90=8D=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...lDefaultFlowConent.java => LocalDefaultFlowConstant.java} | 2 +- .../java/com/yomahub/liteflow/entity/flow/Condition.java | 4 ++-- .../main/java/com/yomahub/liteflow/parser/XmlFlowParser.java | 5 ++--- 3 files changed, 5 insertions(+), 6 deletions(-) rename liteflow-core/src/main/java/com/yomahub/liteflow/common/{LocalDefaultFlowConent.java => LocalDefaultFlowConstant.java} (69%) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConent.java b/liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConstant.java similarity index 69% rename from liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConent.java rename to liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConstant.java index 511663692..0e752c5e9 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConent.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/common/LocalDefaultFlowConstant.java @@ -1,5 +1,5 @@ package com.yomahub.liteflow.common; -public class LocalDefaultFlowConent { +public class LocalDefaultFlowConstant { public static final String DEFAULT="default"; } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java index 70b1cffc9..f8e576fea 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/entity/flow/Condition.java @@ -7,7 +7,7 @@ */ package com.yomahub.liteflow.entity.flow; -import com.yomahub.liteflow.common.LocalDefaultFlowConent; +import com.yomahub.liteflow.common.LocalDefaultFlowConstant; import java.util.List; @@ -19,7 +19,7 @@ public class Condition { // 增加errorResume属性,以区分当when调用链调用失败时是否继续往下执行 默认true继续执行 private boolean errorResume = true; // 增加groupId属性,用于不同node进行同组合并 - private String groupId = LocalDefaultFlowConent.DEFAULT; + private String groupId = LocalDefaultFlowConstant.DEFAULT; private List nodeList; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java index bd73bafcc..725568831 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/XmlFlowParser.java @@ -9,12 +9,11 @@ import java.util.regex.Pattern; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; -import com.yomahub.liteflow.common.LocalDefaultFlowConent; +import com.yomahub.liteflow.common.LocalDefaultFlowConstant; import com.yomahub.liteflow.entity.flow.*; import com.yomahub.liteflow.exception.ExecutableItemNotFoundException; import com.yomahub.liteflow.exception.ParseException; import com.yomahub.liteflow.util.SpringAware; -import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; @@ -110,7 +109,7 @@ public abstract class XmlFlowParser { continue; } if (StrUtil.isBlank(group)) { - group = LocalDefaultFlowConent.DEFAULT; + group = LocalDefaultFlowConstant.DEFAULT; } if (StrUtil.isBlank(errorResume)) { errorResume = Boolean.TRUE.toString(); From 36c92a9ff95c29927ccd849165b5b117488ec1a1 Mon Sep 17 00:00:00 2001 From: zendwang Date: Wed, 31 Mar 2021 12:02:58 +0800 Subject: [PATCH 6/6] =?UTF-8?q?refactor=20=E8=B0=83=E6=95=B4System.err?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/yomahub/liteflow/util/ExecutorHelper.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/util/ExecutorHelper.java b/liteflow-core/src/main/java/com/yomahub/liteflow/util/ExecutorHelper.java index e093869a7..2212f67fa 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/util/ExecutorHelper.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/util/ExecutorHelper.java @@ -7,6 +7,9 @@ */ package com.yomahub.liteflow.util; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicLong; @@ -16,7 +19,9 @@ import java.util.concurrent.atomic.AtomicLong; * @author Bryan.Zhang */ public class ExecutorHelper { - + + private static final Logger LOG = LoggerFactory.getLogger(ExecutorHelper.class); + private ExecutorHelper() { } @@ -44,7 +49,7 @@ public class ExecutorHelper { if (!pool.awaitTermination(timeout, TimeUnit.SECONDS)) { pool.shutdownNow(); if (!pool.awaitTermination(timeout, TimeUnit.SECONDS)) { - System.err.println("Pool did not terminate."); + LOG.error("Pool did not terminate."); } } } catch (InterruptedException ie) {