mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 11:52:08 +08:00
平台配置EXPIRED_TOPIC_CONFIG新增正则过滤Topic
This commit is contained in:
@@ -10,6 +10,8 @@ import java.util.List;
|
||||
public class TopicExpiredConfig {
|
||||
private Integer minExpiredDay = 30;
|
||||
|
||||
private String filterRegex = "";
|
||||
|
||||
private List<Long> 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 +
|
||||
'}';
|
||||
}
|
||||
|
||||
@@ -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<TopicExpiredDO> 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);
|
||||
|
||||
Reference in New Issue
Block a user