enhancement #I45QAJ 支持自定义的zkNodePath

This commit is contained in:
bryan31
2021-09-23 13:35:41 +08:00
parent 33b4f7258d
commit cae1d37d4a
8 changed files with 35 additions and 28 deletions

View File

@@ -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;
}

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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