mirror of
https://gitee.com/dromara/liteFlow.git
synced 2026-05-14 20:22:07 +08:00
enhancement #I45QAJ 支持自定义的zkNodePath
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user