获取配置

This commit is contained in:
许晓东
2021-11-02 20:27:24 +08:00
parent 0eb7c273cc
commit 7b43fa7343
5 changed files with 73 additions and 2 deletions

View File

@@ -2,8 +2,10 @@ package com.xuxd.kafka.console.controller;
import com.xuxd.kafka.console.beans.ResponseData;
import com.xuxd.kafka.console.config.KafkaConfig;
import com.xuxd.kafka.console.service.ConfigService;
import com.xuxd.kafka.console.utils.ConvertUtil;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -19,15 +21,29 @@ import org.springframework.web.bind.annotation.RestController;
public class ConfigController {
private final KafkaConfig config;
private final Map<String, Object> configMap;
public ConfigController(KafkaConfig config) {
private final ConfigService configService;
public ConfigController(KafkaConfig config, ConfigService configService) {
this.config = config;
this.configMap = ConvertUtil.toMap(config);
this.configService = configService;
}
@GetMapping
public Object getConfig() {
return ResponseData.create().data(configMap).success();
}
@GetMapping("/topic")
public Object getTopicConfig(String topic) {
return configService.getTopicConfig(topic);
}
@GetMapping("/broker")
public Object getTopicConfig() {
return configService.getBrokerConfig();
}
}

View File

@@ -0,0 +1,16 @@
package com.xuxd.kafka.console.service;
import com.xuxd.kafka.console.beans.ResponseData;
/**
* kafka-console-ui.
*
* @author xuxd
* @date 2021-11-02 19:57:43
**/
public interface ConfigService {
ResponseData getTopicConfig(String topic);
ResponseData getBrokerConfig();
}

View File

@@ -0,0 +1,32 @@
package com.xuxd.kafka.console.service.impl;
import com.xuxd.kafka.console.beans.ResponseData;
import com.xuxd.kafka.console.service.ConfigService;
import java.util.List;
import kafka.console.ConfigConsole;
import org.apache.kafka.clients.admin.ConfigEntry;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* kafka-console-ui.
*
* @author xuxd
* @date 2021-11-02 19:57:57
**/
@Service
public class ConfigServiceImpl implements ConfigService {
@Autowired
private ConfigConsole configConsole;
@Override public ResponseData getTopicConfig(String topic) {
List<ConfigEntry> configEntries = configConsole.getTopicConfig(topic);
return ResponseData.create().success();
}
@Override public ResponseData getBrokerConfig() {
List<ConfigEntry> configEntries = configConsole.getBrokerConfig();
return ResponseData.create().success();
}
}