From 77f259d98a25311e8ac06bcfa77a1e4d3d06bee9 Mon Sep 17 00:00:00 2001 From: houxinyu Date: Tue, 4 Jul 2023 00:50:05 +0800 Subject: [PATCH] fix:bug --- .../liteflow/parser/redis/RedisXmlELParser.java | 9 ++++++++- .../parser/redis/exception/RedisException.java | 7 +++++++ .../parser/redis/util/RedisParserByPolling.java | 7 +++++++ .../parser/redis/util/RedisParserByPubSub.java | 10 +++++++++- .../parser/redis/util/RedisParserHelper.java | 13 ++++++++++++- .../liteflow/parser/redis/vo/RedisParserVO.java | 7 +++++++ 6 files changed, 50 insertions(+), 3 deletions(-) diff --git a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/RedisXmlELParser.java b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/RedisXmlELParser.java index cd5cd5ccb..334832a0c 100644 --- a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/RedisXmlELParser.java +++ b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/RedisXmlELParser.java @@ -18,13 +18,20 @@ import com.yomahub.liteflow.util.JsonUtil; import java.util.Objects; +/** + * Redis解析器实现,只支持EL形式的XML,不支持其他的形式 + * + * @author hxinyu + * @since 2.10.6 + */ + public class RedisXmlELParser extends ClassXmlFlowELParser { private final RedisParserHelper redisParserHelper; private static final String ERROR_COMMON_MSG = "ruleSourceExtData or map is empty"; - private static final String ERROR_MSG_PATTERN = "uleSourceExtData {} is blank"; + private static final String ERROR_MSG_PATTERN = "ruleSourceExtData {} is blank"; public RedisXmlELParser() { LiteflowConfig liteflowConfig = LiteflowConfigGetter.get(); diff --git a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/exception/RedisException.java b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/exception/RedisException.java index 021dce8e6..3882bfb94 100644 --- a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/exception/RedisException.java +++ b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/exception/RedisException.java @@ -1,5 +1,12 @@ package com.yomahub.liteflow.parser.redis.exception; +/** + * Redis解析异常 + * + * @author hxinyu + * @since 2.10.6 + */ + public class RedisException extends RuntimeException{ private String message; diff --git a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserByPolling.java b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserByPolling.java index ef6637d6f..eae79424d 100644 --- a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserByPolling.java +++ b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserByPolling.java @@ -2,6 +2,13 @@ package com.yomahub.liteflow.parser.redis.util; import com.yomahub.liteflow.parser.redis.vo.RedisParserVO; +/** + * Redis 轮询机制实现类 + * + * @author hxinyu + * @since 2.10.6 + */ + public class RedisParserByPolling implements RedisParserHelper{ private final RedisParserVO redisParserVO; diff --git a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserByPubSub.java b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserByPubSub.java index cad9880ea..fb390d0bb 100644 --- a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserByPubSub.java +++ b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserByPubSub.java @@ -26,6 +26,14 @@ import java.util.List; import java.util.Objects; import java.util.Set; +/** + * Redis Pub/Sub机制实现类 + * Redisson客户端 RMapCache存储结构 + * + * @author hxinyu + * @since 2.10.6 + */ + public class RedisParserByPubSub implements RedisParserHelper { private final RedisParserVO redisParserVO; @@ -139,7 +147,7 @@ public class RedisParserByPubSub implements RedisParserHelper { public boolean hasScript() { // 没有scriptClient或没有配置scriptDataBase - if (Objects.isNull(scriptClient) || StrUtil.isNotBlank(redisParserVO.getScriptDataBase())) { + if (Objects.isNull(scriptClient) || StrUtil.isBlank(redisParserVO.getScriptDataBase())) { return false; } try { diff --git a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserHelper.java b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserHelper.java index b784e0f84..9f6b0f640 100644 --- a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserHelper.java +++ b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/util/RedisParserHelper.java @@ -3,14 +3,25 @@ package com.yomahub.liteflow.parser.redis.util; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; +import com.yomahub.liteflow.core.FlowExecutor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; +/** + * Redis 解析器通用接口 + * + * @author hxinyu + * @since 2.10.6 + */ + public interface RedisParserHelper { - Logger LOG = LoggerFactory.getLogger(RedisParserByPubSub.class); + Logger LOG = LoggerFactory.getLogger(RedisParserHelper.class); + + // LFLog LOG = LFLoggerManager.getLogger(FlowExecutor.class); + String REDIS_URL_PATTERN = "redis://{}:{}"; String CHAIN_XML_PATTERN = "{}"; diff --git a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/vo/RedisParserVO.java b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/vo/RedisParserVO.java index d2a2d9d2b..868ae510e 100644 --- a/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/vo/RedisParserVO.java +++ b/liteflow-rule-plugin/liteflow-rule-redis/src/main/java/com/yomahub/liteflow/parser/redis/vo/RedisParserVO.java @@ -1,5 +1,12 @@ package com.yomahub.liteflow.parser.redis.vo; +/** + * 用于解析RuleSourceExtData的vo类,用于Redis模式中 + * + * @author hxinyu + * @since 2.10.6 + */ + public class RedisParserVO { /*连接地址*/