From d6559be3fc1c05f6b0cde485f6faf53ad9110227 Mon Sep 17 00:00:00 2001 From: zengqiao Date: Thu, 22 Apr 2021 16:06:37 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E5=90=8E=E5=8F=B0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=8E=B7=E5=8F=96Topic=E5=88=97=E8=A1=A8=E6=97=B6?= =?UTF-8?q?=E4=B8=8D=E8=B5=B0=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/service/service/TopicManagerService.java | 2 ++ .../service/service/impl/TopicManagerServiceImpl.java | 8 ++++++++ .../manager/service/service/impl/TopicServiceImpl.java | 2 +- .../java/com/xiaojukeji/kafka/manager/dao/TopicDao.java | 2 ++ .../xiaojukeji/kafka/manager/dao/impl/TopicDaoImpl.java | 7 ++++++- 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/TopicManagerService.java b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/TopicManagerService.java index 5a1fc11b..cfa2920f 100644 --- a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/TopicManagerService.java +++ b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/TopicManagerService.java @@ -22,6 +22,8 @@ import java.util.Map; public interface TopicManagerService { List listAll(); + List getByClusterIdFromCache(Long clusterId); + List getByClusterId(Long clusterId); TopicDO getByTopicName(Long clusterId, String topicName); diff --git a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicManagerServiceImpl.java b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicManagerServiceImpl.java index 6ee9a499..1d761eb8 100644 --- a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicManagerServiceImpl.java +++ b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicManagerServiceImpl.java @@ -95,6 +95,14 @@ public class TopicManagerServiceImpl implements TopicManagerService { return new ArrayList<>(); } + @Override + public List getByClusterIdFromCache(Long clusterId) { + if (clusterId == null) { + return new ArrayList<>(); + } + return topicDao.getByClusterIdFromCache(clusterId); + } + @Override public List getByClusterId(Long clusterId) { if (clusterId == null) { diff --git a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicServiceImpl.java b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicServiceImpl.java index 5dea0561..63191888 100644 --- a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicServiceImpl.java +++ b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicServiceImpl.java @@ -381,7 +381,7 @@ public class TopicServiceImpl implements TopicService { return new ArrayList<>(); } - List topicDOList = topicManagerService.getByClusterId(clusterId); + List topicDOList = topicManagerService.getByClusterIdFromCache(clusterId); if (ValidateUtils.isNull(topicDOList)) { topicDOList = new ArrayList<>(); } diff --git a/kafka-manager-dao/src/main/java/com/xiaojukeji/kafka/manager/dao/TopicDao.java b/kafka-manager-dao/src/main/java/com/xiaojukeji/kafka/manager/dao/TopicDao.java index 64e089a6..9a4511a5 100644 --- a/kafka-manager-dao/src/main/java/com/xiaojukeji/kafka/manager/dao/TopicDao.java +++ b/kafka-manager-dao/src/main/java/com/xiaojukeji/kafka/manager/dao/TopicDao.java @@ -15,6 +15,8 @@ public interface TopicDao { TopicDO getByTopicName(Long clusterId, String topicName); + List getByClusterIdFromCache(Long clusterId); + List getByClusterId(Long clusterId); List getByAppId(String appId); diff --git a/kafka-manager-dao/src/main/java/com/xiaojukeji/kafka/manager/dao/impl/TopicDaoImpl.java b/kafka-manager-dao/src/main/java/com/xiaojukeji/kafka/manager/dao/impl/TopicDaoImpl.java index 58a989c6..fa61734f 100644 --- a/kafka-manager-dao/src/main/java/com/xiaojukeji/kafka/manager/dao/impl/TopicDaoImpl.java +++ b/kafka-manager-dao/src/main/java/com/xiaojukeji/kafka/manager/dao/impl/TopicDaoImpl.java @@ -62,11 +62,16 @@ public class TopicDaoImpl implements TopicDao { } @Override - public List getByClusterId(Long clusterId) { + public List getByClusterIdFromCache(Long clusterId) { updateTopicCache(); return new ArrayList<>(TOPIC_MAP.getOrDefault(clusterId, Collections.emptyMap()).values()); } + @Override + public List getByClusterId(Long clusterId) { + return sqlSession.selectList("TopicDao.getByClusterId", clusterId); + } + @Override public List getByAppId(String appId) { return sqlSession.selectList("TopicDao.getByAppId", appId); -- GitLab