[ISSUE #58] enable the service to support multiple namesrvs (#59)

* enable the service to support multiple namesrvs

* use @ to split the namesrv of different clusters

Co-authored-by: dengzhiwen1 <dengzhiwen1@xiaomi.com>
This commit is contained in:
cserwen
2022-01-04 18:02:08 +08:00
committed by GitHub
parent 1caeb4ce31
commit 2d8bf001b3
6 changed files with 31 additions and 7 deletions

View File

@@ -16,6 +16,7 @@
*/
package org.apache.rocketmq.dashboard.config;
import com.google.common.base.Splitter;
import org.apache.commons.lang3.StringUtils;
import org.apache.rocketmq.common.MixAll;
import org.slf4j.Logger;
@@ -29,6 +30,7 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
import java.io.File;
import java.util.List;
import static org.apache.rocketmq.client.ClientConfig.SEND_MESSAGE_WITH_VIP_CHANNEL_PROPERTY;
@@ -57,6 +59,8 @@ public class RMQConfigure {
private Long timeoutMillis;
private String namesrvAddrs;
public String getAccessKey() {
return accessKey;
}
@@ -77,6 +81,20 @@ public class RMQConfigure {
return namesrvAddr;
}
public String getNamesrvAddrs() {
return namesrvAddrs;
}
public void setNamesrvAddrs(String namesrvAddrs) {
if (StringUtils.isNotBlank(namesrvAddrs)) {
this.namesrvAddrs = namesrvAddrs;
List<String> nameSrvAddrList = Splitter.on("@").splitToList(this.namesrvAddrs);
if (!nameSrvAddrList.isEmpty()) {
this.setNamesrvAddr(nameSrvAddrList.get(0));
}
}
}
public void setNamesrvAddr(String namesrvAddr) {
if (StringUtils.isNotBlank(namesrvAddr)) {
this.namesrvAddr = namesrvAddr;

View File

@@ -46,7 +46,8 @@ public class OpsServiceImpl extends AbstractCommonService implements OpsService
@Override
public Map<String, Object> homePageInfo() {
Map<String, Object> homePageInfoMap = Maps.newHashMap();
homePageInfoMap.put("namesvrAddrList", Splitter.on(";").splitToList(configure.getNamesrvAddr()));
homePageInfoMap.put("currentNamesrv", configure.getNamesrvAddr());
homePageInfoMap.put("namesvrAddrList", Splitter.on("@").splitToList(configure.getNamesrvAddrs()));
homePageInfoMap.put("useVIPChannel", Boolean.valueOf(configure.getIsVIPChannel()));
homePageInfoMap.put("useTLS", configure.isUseTLS());
return homePageInfoMap;