From 6e7b82cfcbd61a54b492b4fe054cb76dcf6e088c Mon Sep 17 00:00:00 2001 From: huyueeer Date: Fri, 6 Aug 2021 14:52:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E9=85=8D=E7=BD=AEEXPIRED=5FT?= =?UTF-8?q?OPIC=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);