From 6e7b82cfcbd61a54b492b4fe054cb76dcf6e088c Mon Sep 17 00:00:00 2001 From: huyueeer Date: Fri, 6 Aug 2021 14:52:22 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E9=85=8D=E7=BD=AEEXPIRED?= =?UTF-8?q?=5FTOPIC=5FCONFIG=E6=96=B0=E5=A2=9E=E6=AD=A3=E5=88=99=E8=BF=87?= =?UTF-8?q?=E6=BB=A4Topic?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/ao/config/expert/TopicExpiredConfig.java | 11 +++++++++++ .../service/service/impl/ExpertServiceImpl.java | 5 ++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ao/config/expert/TopicExpiredConfig.java b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ao/config/expert/TopicExpiredConfig.java index d68dc2ba..be49cb18 100644 --- a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ao/config/expert/TopicExpiredConfig.java +++ b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ao/config/expert/TopicExpiredConfig.java @@ -10,6 +10,8 @@ import java.util.List; public class TopicExpiredConfig { private Integer minExpiredDay = 30; + private String filterRegex = ""; + private List ignoreClusterIdList = new ArrayList<>(); public Integer getMinExpiredDay() { @@ -28,10 +30,19 @@ public class TopicExpiredConfig { this.ignoreClusterIdList = ignoreClusterIdList; } + public String getFilterRegex() { + return filterRegex; + } + + public void setFilterRegex(String filterRegex) { + this.filterRegex = filterRegex; + } + @Override public String toString() { return "TopicExpiredConfig{" + "minExpiredDay=" + minExpiredDay + + ", filterRegex='" + filterRegex + '\'' + ", ignoreClusterIdList=" + ignoreClusterIdList + '}'; } diff --git a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/ExpertServiceImpl.java b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/ExpertServiceImpl.java index d0b34e3d..94f00d2c 100644 --- a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/ExpertServiceImpl.java +++ b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/ExpertServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; +import java.util.regex.Pattern; /** * @author zengqiao @@ -240,9 +241,11 @@ public class ExpertServiceImpl implements ExpertService { return new ArrayList<>(); } + //获取满足条件的过期Topic List filteredExpiredTopicList = new ArrayList<>(); for (TopicExpiredDO elem: expiredTopicList) { - if (config.getIgnoreClusterIdList().contains(elem.getClusterId())) { + //判定是否为忽略Cluster或者判定是否为忽略Topic名,使用正则来过滤理论上不属于过期的Topic + if (config.getIgnoreClusterIdList().contains(elem.getClusterId()) || Pattern.matches(config.getFilterRegex(), elem.getTopicName())) { continue; } filteredExpiredTopicList.add(elem); From 022f9eb55155ddefcf59e589179a4b744f612b3a Mon Sep 17 00:00:00 2001 From: huyueeer Date: Fri, 6 Aug 2021 16:00:16 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0EXPIRED=5FTOPIC=5FCONFIG?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/dev_guide/dynamic_config_manager.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/dev_guide/dynamic_config_manager.md b/docs/dev_guide/dynamic_config_manager.md index 9e05839c..c3365138 100644 --- a/docs/dev_guide/dynamic_config_manager.md +++ b/docs/dev_guide/dynamic_config_manager.md @@ -136,7 +136,8 @@ EXPIRED_TOPIC_CONFIG 配置Value: ```json { - "minExpiredDay": 30, #过期时间大于此值才显示 + "minExpiredDay": 30, #过期时间大于此值才显示, + "filterRegex": ".*XXX\\s+", #忽略符合此正则规则的Topic "ignoreClusterIdList": [ # 忽略的集群 50 ]