From cae1d37d4a52c7983bf66045e2f320f8fe8ad7e5 Mon Sep 17 00:00:00 2001 From: bryan31 Date: Thu, 23 Sep 2021 13:35:41 +0800 Subject: [PATCH] =?UTF-8?q?enhancement=20#I45QAJ=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=9A=84zkNodePath?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/yomahub/liteflow/core/FlowExecutor.java | 16 +++------------- .../liteflow/parser/ZookeeperJsonFlowParser.java | 6 +----- .../liteflow/parser/ZookeeperXmlFlowParser.java | 6 +----- .../liteflow/parser/ZookeeperYmlFlowParser.java | 6 +----- .../liteflow/property/LiteflowConfig.java | 16 ++++++++++++++++ .../liteflow/springboot/LiteflowProperty.java | 11 +++++++++++ .../LiteflowPropertyAutoConfiguration.java | 1 + .../META-INF/liteflow-default.properties | 1 + 8 files changed, 35 insertions(+), 28 deletions(-) diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java b/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java index de0ab2582..e86a56ebb 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/core/FlowExecutor.java @@ -62,8 +62,6 @@ public class FlowExecutor { private LiteflowConfig liteflowConfig; - private String zkNode; - /** * FlowExecutor的初始化化方式,主要用于parse规则文件 */ @@ -179,11 +177,11 @@ public class FlowExecutor { LOG.info("flow info loaded from Zookeeper,zkNode={},format type={}", path, pattern.getType()); switch (pattern) { case TYPE_XML: - return StrUtil.isNotBlank(zkNode) ? new ZookeeperXmlFlowParser(zkNode) : new ZookeeperXmlFlowParser(); + return new ZookeeperXmlFlowParser(liteflowConfig.getZkNode()); case TYPE_JSON: - return StrUtil.isNotBlank(zkNode) ? new ZookeeperJsonFlowParser(zkNode) : new ZookeeperJsonFlowParser(); + return new ZookeeperJsonFlowParser(liteflowConfig.getZkNode()); case TYPE_YML: - return StrUtil.isNotBlank(zkNode) ? new ZookeeperYmlFlowParser(zkNode) : new ZookeeperYmlFlowParser(); + return new ZookeeperYmlFlowParser(liteflowConfig.getZkNode()); default: } } @@ -374,14 +372,6 @@ public class FlowExecutor { return slot; } - public String getZkNode() { - return zkNode; - } - - public void setZkNode(String zkNode) { - this.zkNode = zkNode; - } - public LiteflowConfig getLiteflowConfig() { return liteflowConfig; } diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperJsonFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperJsonFlowParser.java index 32cf65249..8ee5ac920 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperJsonFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperJsonFlowParser.java @@ -21,11 +21,7 @@ public class ZookeeperJsonFlowParser extends JsonFlowParser{ private static final Logger LOG = LoggerFactory.getLogger(ZookeeperJsonFlowParser.class); - private String nodePath = "/lite-flow/flow"; - - public ZookeeperJsonFlowParser() { - - } + private final String nodePath; public ZookeeperJsonFlowParser(String node) { nodePath = node; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperXmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperXmlFlowParser.java index 4b068f28b..c6de392c1 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperXmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperXmlFlowParser.java @@ -23,11 +23,7 @@ public class ZookeeperXmlFlowParser extends XmlFlowParser{ private static final Logger LOG = LoggerFactory.getLogger(ZookeeperXmlFlowParser.class); - private String nodePath = "/lite-flow/flow"; - - public ZookeeperXmlFlowParser() { - - } + private final String nodePath; public ZookeeperXmlFlowParser(String node) { nodePath = node; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperYmlFlowParser.java b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperYmlFlowParser.java index e23542fab..f81938d3a 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperYmlFlowParser.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/parser/ZookeeperYmlFlowParser.java @@ -23,11 +23,7 @@ public class ZookeeperYmlFlowParser extends YmlFlowParser{ private static final Logger LOG = LoggerFactory.getLogger(ZookeeperYmlFlowParser.class); - private String nodePath = "/lite-flow/flow"; - - public ZookeeperYmlFlowParser() { - - } + private final String nodePath; public ZookeeperYmlFlowParser(String node) { nodePath = node; diff --git a/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java b/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java index af574b08a..d27742bce 100644 --- a/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java +++ b/liteflow-core/src/main/java/com/yomahub/liteflow/property/LiteflowConfig.java @@ -9,6 +9,7 @@ package com.yomahub.liteflow.property; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.sun.org.apache.xpath.internal.operations.Bool; /** @@ -28,6 +29,9 @@ public class LiteflowConfig { //流程定义资源地址 private String ruleSource; + //zk配置的node定义 + private String zkNode; + //slot的数量 private Integer slotSize; @@ -214,4 +218,16 @@ public class LiteflowConfig { public void setRetryCount(int retryCount) { this.retryCount = retryCount; } + + public String getZkNode() { + if (StrUtil.isBlank(zkNode)){ + return "/lite-flow/flow"; + }else{ + return zkNode; + } + } + + public void setZkNode(String zkNode) { + this.zkNode = zkNode; + } } diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java index b79921f1b..7e887b11d 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/LiteflowProperty.java @@ -15,6 +15,9 @@ public class LiteflowProperty { //流程定义资源地址 private String ruleSource; + //zk配置的node节点地址 + private String zkNode; + //slot的数量 private int slotSize; @@ -109,4 +112,12 @@ public class LiteflowProperty { public void setRetryCount(int retryCount) { this.retryCount = retryCount; } + + public String getZkNode() { + return zkNode; + } + + public void setZkNode(String zkNode) { + this.zkNode = zkNode; + } } diff --git a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowPropertyAutoConfiguration.java b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowPropertyAutoConfiguration.java index cf4855796..3f5253558 100644 --- a/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowPropertyAutoConfiguration.java +++ b/liteflow-spring-boot-starter/src/main/java/com/yomahub/liteflow/springboot/config/LiteflowPropertyAutoConfiguration.java @@ -38,6 +38,7 @@ public class LiteflowPropertyAutoConfiguration { liteflowConfig.setEnable(property.isEnable()); liteflowConfig.setSupportMultipleType(property.isSupportMultipleType()); liteflowConfig.setRetryCount(property.getRetryCount()); + liteflowConfig.setZkNode(property.getZkNode()); return liteflowConfig; } } diff --git a/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties b/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties index b9838eea3..447388227 100644 --- a/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties +++ b/liteflow-spring-boot-starter/src/main/resources/META-INF/liteflow-default.properties @@ -1,5 +1,6 @@ liteflow.enable=true liteflow.rule-source=config/flow.xml +liteflow.zk-node=/lite-flow/flow liteflow.slot-size=1024 liteflow.when-max-wait-seconds=15 liteflow.when-max-workers=4