mirror of
https://github.com/apache/rocketmq-dashboard.git
synced 2025-09-10 19:48:29 +08:00
* [ISSUE #62]Uses the YML format instead of the Properties format. * retrigger ci * Solve the apache-rat check Co-authored-by: zhangjidi <zhangjidi@cmss.chinamobile.com>
This commit is contained in:
6
pom.xml
6
pom.xml
@@ -103,6 +103,7 @@
|
||||
<easyexcel.version>2.2.10</easyexcel.version>
|
||||
<asm.version>4.2</asm.version>
|
||||
<junit.version>4.12</junit.version>
|
||||
<snakeyaml.version>1.30</snakeyaml.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
@@ -264,6 +265,11 @@
|
||||
<version>${junit.version}</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.yaml</groupId>
|
||||
<artifactId>snakeyaml</artifactId>
|
||||
<version>${snakeyaml.version}</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
<build>
|
||||
|
@@ -16,7 +16,8 @@
|
||||
*/
|
||||
package org.apache.rocketmq.dashboard.config;
|
||||
|
||||
import com.google.common.base.Splitter;
|
||||
import java.util.ArrayList;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.rocketmq.common.MixAll;
|
||||
import org.slf4j.Logger;
|
||||
@@ -59,7 +60,7 @@ public class RMQConfigure {
|
||||
|
||||
private Long timeoutMillis;
|
||||
|
||||
private String namesrvAddrs;
|
||||
private List<String> namesrvAddrs = new ArrayList<>();
|
||||
|
||||
public String getAccessKey() {
|
||||
return accessKey;
|
||||
@@ -81,17 +82,14 @@ public class RMQConfigure {
|
||||
return namesrvAddr;
|
||||
}
|
||||
|
||||
public String getNamesrvAddrs() {
|
||||
public List<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 setNamesrvAddrs(List<String> namesrvAddrs) {
|
||||
this.namesrvAddrs = namesrvAddrs;
|
||||
if (CollectionUtils.isNotEmpty(namesrvAddrs)) {
|
||||
this.setNamesrvAddr(namesrvAddrs.get(0));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -16,7 +16,6 @@
|
||||
*/
|
||||
package org.apache.rocketmq.dashboard.service.impl;
|
||||
|
||||
import com.google.common.base.Splitter;
|
||||
import com.google.common.collect.Maps;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -47,7 +46,7 @@ public class OpsServiceImpl extends AbstractCommonService implements OpsService
|
||||
public Map<String, Object> homePageInfo() {
|
||||
Map<String, Object> homePageInfoMap = Maps.newHashMap();
|
||||
homePageInfoMap.put("currentNamesrv", configure.getNamesrvAddr());
|
||||
homePageInfoMap.put("namesvrAddrList", Splitter.on("@").splitToList(configure.getNamesrvAddrs()));
|
||||
homePageInfoMap.put("namesvrAddrList", configure.getNamesrvAddrs());
|
||||
homePageInfoMap.put("useVIPChannel", Boolean.valueOf(configure.getIsVIPChannel()));
|
||||
homePageInfoMap.put("useTLS", configure.isUseTLS());
|
||||
return homePageInfoMap;
|
||||
|
@@ -1,55 +0,0 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
server.address=0.0.0.0
|
||||
server.port=8080
|
||||
|
||||
### SSL setting
|
||||
#server.ssl.key-store=classpath:rmqcngkeystore.jks
|
||||
#server.ssl.key-store-password=rocketmq
|
||||
#server.ssl.keyStoreType=PKCS12
|
||||
#server.ssl.keyAlias=rmqcngkey
|
||||
|
||||
#spring.application.index=true
|
||||
spring.application.name=rocketmq-dashboard
|
||||
spring.http.encoding.charset=UTF-8
|
||||
spring.http.encoding.enabled=true
|
||||
spring.http.encoding.force=true
|
||||
logging.level.root=INFO
|
||||
logging.config=classpath:logback.xml
|
||||
#if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, default localhost:9876
|
||||
#use @ to distinct the namesrv of different clusters
|
||||
rocketmq.config.namesrvAddrs=
|
||||
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
|
||||
rocketmq.config.isVIPChannel=
|
||||
#timeout for mqadminExt, default 5000ms
|
||||
rocketmq.config.timeoutMillis=
|
||||
#rocketmq-console's data path:dashboard/monitor
|
||||
rocketmq.config.dataPath=/tmp/rocketmq-console/data
|
||||
#set it false if you don't want use dashboard.default true
|
||||
rocketmq.config.enableDashBoardCollect=true
|
||||
#set the message track trace topic if you don't want use the default one
|
||||
rocketmq.config.msgTrackTopicName=
|
||||
rocketmq.config.ticketKey=ticket
|
||||
|
||||
#Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
|
||||
rocketmq.config.loginRequired=false
|
||||
|
||||
#set the accessKey and secretKey if you used acl
|
||||
#rocketmq.config.accessKey=
|
||||
#rocketmq.config.secretKey=
|
||||
rocketmq.config.useTLS=false
|
63
src/main/resources/application.yml
Normal file
63
src/main/resources/application.yml
Normal file
@@ -0,0 +1,63 @@
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
# this work for additional information regarding copyright ownership.
|
||||
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
# (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
server:
|
||||
port: 8080
|
||||
servlet:
|
||||
encoding:
|
||||
charset: UTF-8
|
||||
enabled: true
|
||||
force: true
|
||||
## SSL setting
|
||||
# ssl:
|
||||
# key-store: classpath:rmqcngkeystore.jks
|
||||
# key-store-password: rocketmq
|
||||
# key-store-type: PKCS12
|
||||
# key-alias: rmqcngkey
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: rocketmq-dashboard
|
||||
|
||||
logging:
|
||||
config: classpath:logback.xml
|
||||
|
||||
rocketmq:
|
||||
config:
|
||||
# if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, default localhost:9876
|
||||
# configure multiple namesrv addresses to manage multiple different clusters
|
||||
namesrvAddrs:
|
||||
- 127.0.0.1:9876
|
||||
- 127.0.0.2:9876
|
||||
# if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
|
||||
isVIPChannel:
|
||||
# timeout for mqadminExt, default 5000ms
|
||||
timeoutMillis:
|
||||
# rocketmq-console's data path:dashboard/monitor
|
||||
dataPath: /tmp/rocketmq-console/data
|
||||
# set it false if you don't want use dashboard.default true
|
||||
enableDashBoardCollect: true
|
||||
# set the message track trace topic if you don't want use the default one
|
||||
msgTrackTopicName:
|
||||
ticketKey: ticket
|
||||
# must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
|
||||
loginRequired: false
|
||||
useTLS: false
|
||||
# set the accessKey and secretKey if you used acl
|
||||
accessKey: # if version > 4.4.0
|
||||
secretKey: # if version > 4.4.0
|
||||
|
@@ -17,6 +17,7 @@
|
||||
|
||||
package org.apache.rocketmq.dashboard.config;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import java.io.File;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
@@ -39,6 +40,7 @@ public class RMQConfigureTest {
|
||||
rmqConfigure.setLoginRequired(true);
|
||||
rmqConfigure.setNamesrvAddr("127.0.0.1:9876");
|
||||
rmqConfigure.setTimeoutMillis(3000L);
|
||||
rmqConfigure.setNamesrvAddrs(Lists.asList("127.0.0.1:9876", new String[] {"127.0.0.2:9876"}));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -54,6 +56,7 @@ public class RMQConfigureTest {
|
||||
Assert.assertTrue(rmqConfigure.isEnableDashBoardCollect());
|
||||
Assert.assertTrue(rmqConfigure.isLoginRequired());
|
||||
Assert.assertEquals(rmqConfigure.getNamesrvAddr(), "127.0.0.1:9876");
|
||||
Assert.assertEquals(rmqConfigure.getNamesrvAddrs().size(), 2);
|
||||
Assert.assertEquals(rmqConfigure.getTimeoutMillis().longValue(), 3000L);
|
||||
ErrorPageRegistrar registrar = rmqConfigure.errorPageRegistrar();
|
||||
registrar.registerErrorPages(new ErrorPageRegistry() {
|
||||
|
@@ -17,6 +17,7 @@
|
||||
|
||||
package org.apache.rocketmq.dashboard.controller;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.rocketmq.dashboard.BaseTest;
|
||||
import org.apache.rocketmq.dashboard.config.RMQConfigure;
|
||||
import org.apache.rocketmq.dashboard.support.GlobalExceptionHandler;
|
||||
@@ -62,7 +63,7 @@ public abstract class BaseControllerTest extends BaseTest {
|
||||
when(configure.getAccessKey()).thenReturn("12345678");
|
||||
when(configure.getSecretKey()).thenReturn("rocketmq");
|
||||
when(configure.getNamesrvAddr()).thenReturn("127.0.0.1:9876");
|
||||
when(configure.getNamesrvAddrs()).thenReturn("127.0.0.1:9876");
|
||||
when(configure.getNamesrvAddrs()).thenReturn(Lists.asList("127.0.0.1:9876", new String[] {"127.0.0.2:9876"}));
|
||||
when(configure.isACLEnabled()).thenReturn(true);
|
||||
when(configure.isUseTLS()).thenReturn(false);
|
||||
}
|
||||
|
@@ -64,7 +64,7 @@ public class OpsControllerTest extends BaseControllerTest {
|
||||
.andExpect(jsonPath("$.data").isMap())
|
||||
.andExpect(jsonPath("$.data.useVIPChannel").value(false))
|
||||
.andExpect(jsonPath("$.data.namesvrAddrList").isArray())
|
||||
.andExpect(jsonPath("$.data.namesvrAddrList", hasSize(1)))
|
||||
.andExpect(jsonPath("$.data.namesvrAddrList", hasSize(2)))
|
||||
.andExpect(jsonPath("$.data.namesvrAddrList[0]").value("127.0.0.1:9876"));
|
||||
}
|
||||
|
||||
@@ -96,7 +96,6 @@ public class OpsControllerTest extends BaseControllerTest {
|
||||
.andExpect(jsonPath("$.data").value(true));
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testUpdateUseTLS() throws Exception {
|
||||
final String url = "/ops/updateUseTLS.do";
|
||||
|
Reference in New Issue
Block a user