You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by st...@apache.org on 2021/08/13 14:48:31 UTC

[rocketmq-dashboard] 01/01: Use rocketmq-dashboard instead of rocketmq-console

This is an automated email from the ASF dual-hosted git repository.

styletang pushed a commit to branch init
in repository https://gitbox.apache.org/repos/asf/rocketmq-dashboard.git

commit 119cf0d58c751eb91cb758bd11e903c11db062ab
Author: StyleTang <st...@gmail.com>
AuthorDate: Fri Aug 13 22:46:16 2021 +0800

    Use rocketmq-dashboard instead of rocketmq-console
---
 NOTICE                                             |  2 +-
 README.md                                          |  8 ++++----
 doc/1_0_0/UserGuide_CN.md                          |  8 ++++----
 doc/1_0_0/UserGuide_EN.md                          | 14 +++++++-------
 pom.xml                                            |  4 ++--
 src/main/docker/Dockerfile                         |  6 +++---
 .../rocketmq/{console => dashboard}/App.java       |  2 +-
 .../aspect/admin/MQAdminAspect.java                | 12 ++++++------
 .../admin/annotation/MultiMQAdminCmdMethod.java    |  2 +-
 .../annotation/OriginalControllerReturnValue.java  |  2 +-
 .../config/AuthWebMVCConfigurerAdapter.java        |  8 ++++----
 .../config/RMQConfigure.java                       |  6 +++---
 .../controller/ClusterController.java              |  4 ++--
 .../controller/ConsumerController.java             | 14 +++++++-------
 .../controller/DashboardController.java            |  4 ++--
 .../controller/LoginController.java                | 16 ++++++++--------
 .../controller/MessageController.java              | 12 ++++++------
 .../controller/MessageTraceController.java         | 10 +++++-----
 .../controller/MonitorController.java              |  6 +++---
 .../controller/NamesvrController.java              |  6 +++---
 .../controller/OpsController.java                  |  4 ++--
 .../controller/ProducerController.java             |  6 +++---
 .../controller/TestController.java                 |  6 +++---
 .../controller/TopicController.java                | 12 ++++++------
 .../exception/ServiceException.java                |  2 +-
 .../filter/HttpBasicAuthorizedFilter.java          |  2 +-
 .../interceptor/AuthInterceptor.java               |  4 ++--
 .../model/ConnectionInfo.java                      |  2 +-
 .../model/ConsumerGroupRollBackStat.java           |  2 +-
 .../model/ConsumerMonitorConfig.java               |  2 +-
 .../model/GroupConsumeInfo.java                    |  2 +-
 .../{console => dashboard}/model/LoginInfo.java    |  2 +-
 .../{console => dashboard}/model/MessagePage.java  |  2 +-
 .../model/MessagePageTask.java                     |  2 +-
 .../model/MessageQueryByPage.java                  |  2 +-
 .../model/MessageTraceView.java                    |  6 +++---
 .../{console => dashboard}/model/MessageView.java  |  2 +-
 .../model/QueueOffsetInfo.java                     |  2 +-
 .../model/QueueStatInfo.java                       |  2 +-
 .../model/TopicConsumerInfo.java                   |  2 +-
 .../{console => dashboard}/model/User.java         |  2 +-
 .../{console => dashboard}/model/UserInfo.java     |  2 +-
 .../model/request/ConsumerConfigInfo.java          |  2 +-
 .../model/request/DeleteSubGroupRequest.java       |  2 +-
 .../model/request/MessageQuery.java                |  2 +-
 .../model/request/ResetOffsetRequest.java          |  2 +-
 .../model/request/SendTopicMessageRequest.java     |  2 +-
 .../model/request/TopicConfigInfo.java             |  2 +-
 .../model/trace/MessageTraceGraph.java             |  4 ++--
 .../model/trace/MessageTraceStatusEnum.java        |  2 +-
 .../model/trace/ProducerNode.java                  |  2 +-
 .../model/trace/SubscriptionNode.java              |  2 +-
 .../model/trace/TraceNode.java                     |  2 +-
 .../service/AbstractCommonService.java             |  2 +-
 .../service/ClusterService.java                    |  2 +-
 .../service/ConsumerService.java                   | 14 +++++++-------
 .../service/DashboardCollectService.java           |  4 ++--
 .../service/DashboardService.java                  |  2 +-
 .../service/LoginService.java                      |  2 +-
 .../service/MessageService.java                    |  8 ++++----
 .../service/MessageTraceService.java               |  6 +++---
 .../service/MonitorService.java                    |  4 ++--
 .../{console => dashboard}/service/OpsService.java |  4 ++--
 .../service/ProducerService.java                   |  2 +-
 .../service/TopicService.java                      |  6 +++---
 .../service/UserService.java                       |  4 ++--
 .../service/checker/CheckerType.java               |  2 +-
 .../service/checker/RocketMqChecker.java           |  2 +-
 .../checker/impl/ClusterHealthCheckerImpl.java     |  6 +++---
 .../impl/TopicOnlyOneBrokerCheckerImpl.java        |  6 +++---
 .../service/client/MQAdminExtImpl.java             |  8 ++++----
 .../service/client/MQAdminInstance.java            |  2 +-
 .../service/impl/ClusterServiceImpl.java           |  6 +++---
 .../service/impl/ConsumerServiceImpl.java          | 22 +++++++++++-----------
 .../service/impl/DashboardCollectServiceImpl.java  | 10 +++++-----
 .../service/impl/DashboardServiceImpl.java         |  6 +++---
 .../service/impl/LoginServiceImpl.java             | 10 +++++-----
 .../service/impl/MessageServiceImpl.java           | 20 ++++++++++----------
 .../service/impl/MessageTraceServiceImpl.java      | 18 +++++++++---------
 .../service/impl/MonitorServiceImpl.java           | 12 ++++++------
 .../service/impl/OpsServiceImpl.java               | 12 ++++++------
 .../service/impl/ProducerServiceImpl.java          |  4 ++--
 .../service/impl/TopicServiceImpl.java             | 12 ++++++------
 .../service/impl/UserServiceImpl.java              | 16 ++++++++--------
 .../support/GlobalExceptionHandler.java            |  6 +++---
 .../support/GlobalRestfulResponseBodyAdvice.java   |  6 +++---
 .../{console => dashboard}/support/JsonResult.java |  2 +-
 .../task/DashboardCollectTask.java                 | 12 ++++++------
 .../{console => dashboard}/task/MonitorTask.java   | 12 ++++++------
 .../{console => dashboard}/util/JsonUtil.java      |  2 +-
 .../util/MsgTraceDecodeUtil.java                   |  2 +-
 .../{console => dashboard}/util/WebUtil.java       |  6 +++---
 src/main/resources/application.properties          |  2 +-
 src/main/resources/static/index.html               |  2 +-
 src/main/resources/static/src/i18n/en.js           |  4 ++--
 src/main/resources/static/src/i18n/zh.js           |  4 ++--
 .../static/view/pages/un_support_browser.html      |  2 +-
 src/main/resources/users.properties                |  2 +-
 .../rocketmq/{console => dashboard}/BaseTest.java  |  2 +-
 .../admin/MQAdminAspectTest.java                   |  8 ++++----
 .../admin/MQAdminExtImplTest.java                  |  8 ++++----
 .../config/RMQConfigureTest.java                   |  6 +++---
 .../controller/BaseControllerTest.java             | 12 ++++++------
 .../controller/ClusterControllerTest.java          |  6 +++---
 .../controller/ConsumerControllerTest.java         | 12 ++++++------
 .../controller/DashboardControllerTest.java        | 10 +++++-----
 .../controller/LoginControllerTest.java            | 10 +++++-----
 .../controller/MessageControllerTest.java          | 10 +++++-----
 .../controller/MessageTraceControllerTest.java     |  8 ++++----
 .../controller/MonitorControllerTest.java          | 12 ++++++------
 .../controller/NamesvrControllerTest.java          |  4 ++--
 .../controller/OpsControllerTest.java              | 10 +++++-----
 .../controller/ProducerControllerTest.java         | 16 ++++++++--------
 .../controller/TopicControllerTest.java            | 12 ++++++------
 .../task/DashboardCollectTaskTest.java             | 16 ++++++++--------
 .../testbase/RocketMQConsoleTestBase.java          | 12 ++++++------
 .../testbase/TestConstant.java                     |  2 +-
 .../testbase/TestRocketMQServer.java               |  8 ++++----
 .../util/MockObjectUtil.java                       |  2 +-
 .../util/MsgTraceDecodeUtilTest.java               |  2 +-
 .../util/MyPrintingResultHandler.java              |  2 +-
 .../web/WebStaticApplicationTests.java             |  2 +-
 src/test/resources/application.properties          |  2 +-
 123 files changed, 366 insertions(+), 366 deletions(-)

diff --git a/NOTICE b/NOTICE
index fa6d59e..9dacff5 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,4 +1,4 @@
-Apache RocketMQ Console
+Apache RocketMQ Dashboard
 Copyright 2016-2017 The Apache Software Foundation
 
 This product includes software developed at
diff --git a/README.md b/README.md
index cddd94e..bf841f5 100644
--- a/README.md
+++ b/README.md
@@ -42,7 +42,7 @@ mvn spring-boot:run
 or
 ```
 mvn clean package -Dmaven.test.skip=true
-java -jar target/rocketmq-console-ng-2.0.0.jar
+java -jar target/rocketmq-dashboard-2.0.0.jar
 ```
 
 #### Tips
@@ -59,14 +59,14 @@ java -jar target/rocketmq-console-ng-2.0.0.jar
   </mirrors>
   ```
   
-* if you use the rocketmq < 3.5.8,please add -Dcom.rocketmq.sendMessageWithVIPChannel=false when you start rocketmq-console-ng(or you can change it in ops page)
+* if you use the rocketmq < 3.5.8,please add -Dcom.rocketmq.sendMessageWithVIPChannel=false when you start rocketmq-dashboard(or you can change it in ops page)
 * change the rocketmq.config.namesrvAddr in resource/application.properties.(or you can change it in ops page)
 
 ## UserGuide
 
-[English](https://github.com/apache/incubator-rocketmq-externals/blob/master/rocketmq-console/doc/1_0_0/UserGuide_EN.md)
+[English](https://github.com/apache/rocketmq-dashboard/blob/master/doc/1_0_0/UserGuide_EN.md)
 
-[中文](https://github.com/apache/incubator-rocketmq-externals/blob/master/rocketmq-console/doc/1_0_0/UserGuide_CN.md)
+[中文](https://github.com/apache/rocketmq-dashboard/blob/master/doc/1_0_0/UserGuide_CN.md)
 
 ## Contributing
 
diff --git a/doc/1_0_0/UserGuide_CN.md b/doc/1_0_0/UserGuide_CN.md
index eb55152..e5f795a 100755
--- a/doc/1_0_0/UserGuide_CN.md
+++ b/doc/1_0_0/UserGuide_CN.md
@@ -64,7 +64,7 @@
 * 消息详情可以展示这条消息的详细信息,查看消息对应到具体消费组的消费情况(如果异常,可以查看具体的异常信息)。可以向指定的消费组重发消息。
 
 
-## HTTPS 方式访问Console
+## HTTPS 方式访问Dashboard
 * HTTPS功能实际上是使用SpringBoot提供的配置功能即可完成,首先,需要有一个SSL KeyStore来存放服务端证书,可以使用本工程所提供的测试密钥库:
 resources/rmqcngkeystore.jks, 它可以通过如下keytool命令生成
 ```
@@ -76,7 +76,7 @@ keytool -list -v -keystore rmqcngkeystore.jks
 keytool -importkeystore -srckeystore rmqcngkeystore.jks -destkeystore rmqcngkeystore.jks -deststoretype pkcs12 
 ```
 
-* 配置resources/application.properties, 打开SSL的相关选项, 启动console后即开启了HTTPS.
+* 配置resources/application.properties, 打开SSL的相关选项, 启动dashboard后即开启了HTTPS.
 ```
 #设置https端口
 server.port=8443
@@ -88,8 +88,8 @@ server.port=8443
 #server.ssl.keyAlias=rmqcngkey
 ```
 
-## 登录访问Console
-在访问Console时支持按用户名和密码登录控制台,在操作完成后登出。需要做如下的设置:
+## 登录访问Dashboard
+在访问Dashboard时支持按用户名和密码登录控制台,在操作完成后登出。需要做如下的设置:
 
 * 1.在Spring配置文件resources/application.properties中修改 开启登录功能
 ```$xslt
diff --git a/doc/1_0_0/UserGuide_EN.md b/doc/1_0_0/UserGuide_EN.md
index 7bde971..273d591 100644
--- a/doc/1_0_0/UserGuide_EN.md
+++ b/doc/1_0_0/UserGuide_EN.md
@@ -1,7 +1,7 @@
 # RocketMQ User Guide
 
 ## OPS Page
-* You can change console's namesrvAddr here
+* You can change dashboard's namesrvAddr here
 * You can change the value of useVIPChannel  here (if you rocketMQ version < 3.5.8,the value of useVIPChannel should be false)
 
 ## DashBoard Page
@@ -65,7 +65,7 @@
 you can send this message to the group you selected
 
 
-## Access Console with HTTPS
+## Access Dashboard with HTTPS
 * SpringBoot itself has provided the SSL configuration. You can use the project test Keystore:resources/rmqcngkeystore.jks. The store is generated with the following unix keytool commands:
 ```
 #Generate Keystore and add alias rmqcngKey
@@ -76,7 +76,7 @@ keytool -list -v -keystore rmqcngkeystore.jks
 keytool -importkeystore -srckeystore rmqcngkeystore.jks -destkeystore rmqcngkeystore.jks -deststoretype pkcs12 
 ```
 
-* Uncomment the following SSL properties in resources/application.properties. restart Console then access with HTTPS.
+* Uncomment the following SSL properties in resources/application.properties. restart Dashboard then access with HTTPS.
 
 ```
 #Set https port
@@ -89,8 +89,8 @@ server.ssl.keyStoreType=PKCS12
 server.ssl.keyAlias=rmqcngkey
 ```
 
-## Login/Logout on Console
-Access Console with username and password and logout to leave the console。To stage the function on, we need the steps below:
+## Login/Logout on Dashboard
+Access Dashboard with username and password and logout to leave the dashboard。To stage the function on, we need the steps below:
 
 * 1.Turn on the property in resources/application.properties.
 ```$xslt
@@ -101,7 +101,7 @@ rocketmq.config.loginRequired=true
 rocketmq.config.dataPath=/tmp/rocketmq-console/data
 ```
 * 2.Make sure the directory defined in property ${rocketmq.config.dataPath} exists and the file "users.properties" is created under it. 
-The console system will use the resources/users.properties by default if a customized file is not found。
+The dashboard system will use the resources/users.properties by default if a customized file is not found。
 
 The format in the content of users.properties:
 ```$xslt
@@ -115,4 +115,4 @@ admin=admin,1
 user1=user1
 user2=user2
 ```
-* 3. Restart Console Application after above configuration setting well.  
\ No newline at end of file
+* 3. Restart Dashboard Application after above configuration setting well.  
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 4ee8e0b..3ae4377 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,10 +11,10 @@
 
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache</groupId>
-    <artifactId>rocketmq-console-ng</artifactId>
+    <artifactId>rocketmq-dashboard</artifactId>
     <packaging>jar</packaging>
     <version>2.0.0</version>
-    <name>rocketmq-console-ng</name>
+    <name>rocketmq-dashboard</name>
 
     <mailingLists>
         <mailingList>
diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile
index 520319a..cb33294 100644
--- a/src/main/docker/Dockerfile
+++ b/src/main/docker/Dockerfile
@@ -1,6 +1,6 @@
 FROM java:8
 VOLUME /tmp
-ADD rocketmq-console-ng-*.jar rocketmq-console-ng.jar
-RUN sh -c 'touch /rocketmq-console-ng.jar'
+ADD rocketmq-dashboard-*.jar rocketmq-dashboard.jar
+RUN sh -c 'touch /rocketmq-dashboard.jar'
 ENV JAVA_OPTS=""
-ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -jar /rocketmq-console-ng.jar" ]
+ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -jar /rocketmq-dashboard.jar" ]
diff --git a/src/main/java/org/apache/rocketmq/console/App.java b/src/main/java/org/apache/rocketmq/dashboard/App.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/App.java
rename to src/main/java/org/apache/rocketmq/dashboard/App.java
index 13842ba..105663d 100644
--- a/src/main/java/org/apache/rocketmq/console/App.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/App.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console;
+package org.apache.rocketmq.dashboard;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/src/main/java/org/apache/rocketmq/console/aspect/admin/MQAdminAspect.java b/src/main/java/org/apache/rocketmq/dashboard/aspect/admin/MQAdminAspect.java
similarity index 85%
rename from src/main/java/org/apache/rocketmq/console/aspect/admin/MQAdminAspect.java
rename to src/main/java/org/apache/rocketmq/dashboard/aspect/admin/MQAdminAspect.java
index 2e7e945..48436db 100644
--- a/src/main/java/org/apache/rocketmq/console/aspect/admin/MQAdminAspect.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/aspect/admin/MQAdminAspect.java
@@ -14,11 +14,11 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.aspect.admin;
+package org.apache.rocketmq.dashboard.aspect.admin;
 
-import org.apache.rocketmq.console.aspect.admin.annotation.MultiMQAdminCmdMethod;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.service.client.MQAdminInstance;
+import org.apache.rocketmq.dashboard.aspect.admin.annotation.MultiMQAdminCmdMethod;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.service.client.MQAdminInstance;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
@@ -42,12 +42,12 @@ public class MQAdminAspect {
     public MQAdminAspect() {
     }
 
-    @Pointcut("execution(* org.apache.rocketmq.console.service.client.MQAdminExtImpl..*(..))")
+    @Pointcut("execution(* org.apache.rocketmq.dashboard.service.client.MQAdminExtImpl..*(..))")
     public void mQAdminMethodPointCut() {
 
     }
 
-    @Pointcut("@annotation(org.apache.rocketmq.console.aspect.admin.annotation.MultiMQAdminCmdMethod)")
+    @Pointcut("@annotation(org.apache.rocketmq.dashboard.aspect.admin.annotation.MultiMQAdminCmdMethod)")
     public void multiMQAdminMethodPointCut() {
 
     }
diff --git a/src/main/java/org/apache/rocketmq/console/aspect/admin/annotation/MultiMQAdminCmdMethod.java b/src/main/java/org/apache/rocketmq/dashboard/aspect/admin/annotation/MultiMQAdminCmdMethod.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/aspect/admin/annotation/MultiMQAdminCmdMethod.java
rename to src/main/java/org/apache/rocketmq/dashboard/aspect/admin/annotation/MultiMQAdminCmdMethod.java
index 103e094..0c48227 100644
--- a/src/main/java/org/apache/rocketmq/console/aspect/admin/annotation/MultiMQAdminCmdMethod.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/aspect/admin/annotation/MultiMQAdminCmdMethod.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.aspect.admin.annotation;
+package org.apache.rocketmq.dashboard.aspect.admin.annotation;
 
 import java.lang.annotation.Documented;
 import java.lang.annotation.ElementType;
diff --git a/src/main/java/org/apache/rocketmq/console/aspect/admin/annotation/OriginalControllerReturnValue.java b/src/main/java/org/apache/rocketmq/dashboard/aspect/admin/annotation/OriginalControllerReturnValue.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/aspect/admin/annotation/OriginalControllerReturnValue.java
rename to src/main/java/org/apache/rocketmq/dashboard/aspect/admin/annotation/OriginalControllerReturnValue.java
index 9a31bd3..c061169 100644
--- a/src/main/java/org/apache/rocketmq/console/aspect/admin/annotation/OriginalControllerReturnValue.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/aspect/admin/annotation/OriginalControllerReturnValue.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.aspect.admin.annotation;
+package org.apache.rocketmq.dashboard.aspect.admin.annotation;
 
 import java.lang.annotation.Documented;
 import java.lang.annotation.ElementType;
diff --git a/src/main/java/org/apache/rocketmq/console/config/AuthWebMVCConfigurerAdapter.java b/src/main/java/org/apache/rocketmq/dashboard/config/AuthWebMVCConfigurerAdapter.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/config/AuthWebMVCConfigurerAdapter.java
rename to src/main/java/org/apache/rocketmq/dashboard/config/AuthWebMVCConfigurerAdapter.java
index 4840f90..4aba65c 100644
--- a/src/main/java/org/apache/rocketmq/console/config/AuthWebMVCConfigurerAdapter.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/config/AuthWebMVCConfigurerAdapter.java
@@ -15,11 +15,11 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.config;
+package org.apache.rocketmq.dashboard.config;
 
-import org.apache.rocketmq.console.interceptor.AuthInterceptor;
-import org.apache.rocketmq.console.model.UserInfo;
-import org.apache.rocketmq.console.util.WebUtil;
+import org.apache.rocketmq.dashboard.interceptor.AuthInterceptor;
+import org.apache.rocketmq.dashboard.model.UserInfo;
+import org.apache.rocketmq.dashboard.util.WebUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.context.annotation.Configuration;
diff --git a/src/main/java/org/apache/rocketmq/console/config/RMQConfigure.java b/src/main/java/org/apache/rocketmq/dashboard/config/RMQConfigure.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/config/RMQConfigure.java
rename to src/main/java/org/apache/rocketmq/dashboard/config/RMQConfigure.java
index 62df95b..82f9ae3 100644
--- a/src/main/java/org/apache/rocketmq/console/config/RMQConfigure.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/config/RMQConfigure.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.config;
+package org.apache.rocketmq.dashboard.config;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.common.MixAll;
@@ -89,11 +89,11 @@ public class RMQConfigure {
         return !(StringUtils.isAnyBlank(this.accessKey, this.secretKey) ||
                  StringUtils.isAnyEmpty(this.accessKey, this.secretKey));
     }
-    public String getRocketMqConsoleDataPath() {
+    public String getRocketMqDashboardDataPath() {
         return dataPath;
     }
 
-    public String getConsoleCollectData() {
+    public String getDashboardCollectData() {
         return dataPath + File.separator + "dashboard";
     }
 
diff --git a/src/main/java/org/apache/rocketmq/console/controller/ClusterController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/ClusterController.java
similarity index 93%
rename from src/main/java/org/apache/rocketmq/console/controller/ClusterController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/ClusterController.java
index 718f75d..9ad4b31 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/ClusterController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/ClusterController.java
@@ -14,9 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
-import org.apache.rocketmq.console.service.ClusterService;
+import org.apache.rocketmq.dashboard.service.ClusterService;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/ConsumerController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/ConsumerController.java
similarity index 91%
rename from src/main/java/org/apache/rocketmq/console/controller/ConsumerController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/ConsumerController.java
index 7f81823..bc2165b 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/ConsumerController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/ConsumerController.java
@@ -14,18 +14,18 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import com.google.common.base.Preconditions;
 import javax.annotation.Resource;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.rocketmq.common.protocol.body.ConsumerConnection;
-import org.apache.rocketmq.console.model.ConnectionInfo;
-import org.apache.rocketmq.console.model.request.ConsumerConfigInfo;
-import org.apache.rocketmq.console.model.request.DeleteSubGroupRequest;
-import org.apache.rocketmq.console.model.request.ResetOffsetRequest;
-import org.apache.rocketmq.console.service.ConsumerService;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.model.ConnectionInfo;
+import org.apache.rocketmq.dashboard.model.request.ConsumerConfigInfo;
+import org.apache.rocketmq.dashboard.model.request.DeleteSubGroupRequest;
+import org.apache.rocketmq.dashboard.model.request.ResetOffsetRequest;
+import org.apache.rocketmq.dashboard.service.ConsumerService;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/DashboardController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/DashboardController.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/controller/DashboardController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/DashboardController.java
index 985c028..c4972fd 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/DashboardController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/DashboardController.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import javax.annotation.Resource;
 
 import com.google.common.base.Strings;
-import org.apache.rocketmq.console.service.DashboardService;
+import org.apache.rocketmq.dashboard.service.DashboardService;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/LoginController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/LoginController.java
similarity index 88%
rename from src/main/java/org/apache/rocketmq/console/controller/LoginController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/LoginController.java
index 532ed96..be92456 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/LoginController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/LoginController.java
@@ -15,15 +15,15 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.model.LoginInfo;
-import org.apache.rocketmq.console.model.User;
-import org.apache.rocketmq.console.model.UserInfo;
-import org.apache.rocketmq.console.service.UserService;
-import org.apache.rocketmq.console.support.JsonResult;
-import org.apache.rocketmq.console.util.WebUtil;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.model.LoginInfo;
+import org.apache.rocketmq.dashboard.model.User;
+import org.apache.rocketmq.dashboard.model.UserInfo;
+import org.apache.rocketmq.dashboard.service.UserService;
+import org.apache.rocketmq.dashboard.support.JsonResult;
+import org.apache.rocketmq.dashboard.util.WebUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/MessageController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/MessageController.java
similarity index 92%
rename from src/main/java/org/apache/rocketmq/console/controller/MessageController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/MessageController.java
index fa0fe00..f3406ac 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/MessageController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/MessageController.java
@@ -14,16 +14,16 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import com.google.common.collect.Maps;
 import org.apache.rocketmq.common.Pair;
 import org.apache.rocketmq.common.protocol.body.ConsumeMessageDirectlyResult;
-import org.apache.rocketmq.console.model.MessagePage;
-import org.apache.rocketmq.console.model.MessageView;
-import org.apache.rocketmq.console.model.request.MessageQuery;
-import org.apache.rocketmq.console.service.MessageService;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.model.MessagePage;
+import org.apache.rocketmq.dashboard.model.MessageView;
+import org.apache.rocketmq.dashboard.model.request.MessageQuery;
+import org.apache.rocketmq.dashboard.service.MessageService;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.apache.rocketmq.tools.admin.api.MessageTrack;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/MessageTraceController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/MessageTraceController.java
similarity index 89%
rename from src/main/java/org/apache/rocketmq/console/controller/MessageTraceController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/MessageTraceController.java
index e0a8896..12d8cb3 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/MessageTraceController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/MessageTraceController.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import com.google.common.collect.Maps;
 
@@ -24,10 +24,10 @@ import java.util.Map;
 import javax.annotation.Resource;
 
 import org.apache.rocketmq.common.Pair;
-import org.apache.rocketmq.console.model.MessageView;
-import org.apache.rocketmq.console.model.trace.MessageTraceGraph;
-import org.apache.rocketmq.console.service.MessageService;
-import org.apache.rocketmq.console.service.MessageTraceService;
+import org.apache.rocketmq.dashboard.model.MessageView;
+import org.apache.rocketmq.dashboard.model.trace.MessageTraceGraph;
+import org.apache.rocketmq.dashboard.service.MessageService;
+import org.apache.rocketmq.dashboard.service.MessageTraceService;
 import org.apache.rocketmq.tools.admin.api.MessageTrack;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/MonitorController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/MonitorController.java
similarity index 93%
rename from src/main/java/org/apache/rocketmq/console/controller/MonitorController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/MonitorController.java
index 8bc89e9..c5f581f 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/MonitorController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/MonitorController.java
@@ -14,11 +14,11 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import javax.annotation.Resource;
-import org.apache.rocketmq.console.model.ConsumerMonitorConfig;
-import org.apache.rocketmq.console.service.MonitorService;
+import org.apache.rocketmq.dashboard.model.ConsumerMonitorConfig;
+import org.apache.rocketmq.dashboard.service.MonitorService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/NamesvrController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/NamesvrController.java
similarity index 87%
rename from src/main/java/org/apache/rocketmq/console/controller/NamesvrController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/NamesvrController.java
index ad6c25a..99c57b3 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/NamesvrController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/NamesvrController.java
@@ -14,11 +14,11 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import javax.annotation.Resource;
-import org.apache.rocketmq.console.aspect.admin.annotation.OriginalControllerReturnValue;
-import org.apache.rocketmq.console.service.OpsService;
+import org.apache.rocketmq.dashboard.aspect.admin.annotation.OriginalControllerReturnValue;
+import org.apache.rocketmq.dashboard.service.OpsService;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/OpsController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/OpsController.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/controller/OpsController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/OpsController.java
index f1f0852..8c376ab 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/OpsController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/OpsController.java
@@ -14,10 +14,10 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import javax.annotation.Resource;
-import org.apache.rocketmq.console.service.OpsService;
+import org.apache.rocketmq.dashboard.service.OpsService;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/ProducerController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/ProducerController.java
similarity index 91%
rename from src/main/java/org/apache/rocketmq/console/controller/ProducerController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/ProducerController.java
index 1a69de5..1a776d1 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/ProducerController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/ProducerController.java
@@ -14,12 +14,12 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import javax.annotation.Resource;
 import org.apache.rocketmq.common.protocol.body.ProducerConnection;
-import org.apache.rocketmq.console.model.ConnectionInfo;
-import org.apache.rocketmq.console.service.ProducerService;
+import org.apache.rocketmq.dashboard.model.ConnectionInfo;
+import org.apache.rocketmq.dashboard.service.ProducerService;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/TestController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/TestController.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/controller/TestController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/TestController.java
index d7af1ad..72743a2 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/TestController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/TestController.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer;
 import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;
@@ -29,8 +29,8 @@ import org.apache.rocketmq.common.message.MessageExt;
 import org.apache.rocketmq.remoting.exception.RemotingException;
 import java.util.List;
 import javax.annotation.Resource;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Controller;
diff --git a/src/main/java/org/apache/rocketmq/console/controller/TopicController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/TopicController.java
similarity index 93%
rename from src/main/java/org/apache/rocketmq/console/controller/TopicController.java
rename to src/main/java/org/apache/rocketmq/dashboard/controller/TopicController.java
index ce9080b..525586b 100644
--- a/src/main/java/org/apache/rocketmq/console/controller/TopicController.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/controller/TopicController.java
@@ -14,15 +14,15 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import org.apache.rocketmq.client.exception.MQClientException;
 import org.apache.rocketmq.remoting.exception.RemotingException;
-import org.apache.rocketmq.console.model.request.SendTopicMessageRequest;
-import org.apache.rocketmq.console.model.request.TopicConfigInfo;
-import org.apache.rocketmq.console.service.ConsumerService;
-import org.apache.rocketmq.console.service.TopicService;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.model.request.SendTopicMessageRequest;
+import org.apache.rocketmq.dashboard.model.request.TopicConfigInfo;
+import org.apache.rocketmq.dashboard.service.ConsumerService;
+import org.apache.rocketmq.dashboard.service.TopicService;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import com.google.common.base.Preconditions;
 import org.apache.commons.collections.CollectionUtils;
 import org.slf4j.Logger;
diff --git a/src/main/java/org/apache/rocketmq/console/exception/ServiceException.java b/src/main/java/org/apache/rocketmq/dashboard/exception/ServiceException.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/exception/ServiceException.java
rename to src/main/java/org/apache/rocketmq/dashboard/exception/ServiceException.java
index 7ad166b..8a349d3 100644
--- a/src/main/java/org/apache/rocketmq/console/exception/ServiceException.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/exception/ServiceException.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.exception;
+package org.apache.rocketmq.dashboard.exception;
 
 public class ServiceException extends RuntimeException {
     private static final long serialVersionUID = 9213584003139969215L;
diff --git a/src/main/java/org/apache/rocketmq/console/filter/HttpBasicAuthorizedFilter.java b/src/main/java/org/apache/rocketmq/dashboard/filter/HttpBasicAuthorizedFilter.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/filter/HttpBasicAuthorizedFilter.java
rename to src/main/java/org/apache/rocketmq/dashboard/filter/HttpBasicAuthorizedFilter.java
index 73b2eb9..10c3671 100644
--- a/src/main/java/org/apache/rocketmq/console/filter/HttpBasicAuthorizedFilter.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/filter/HttpBasicAuthorizedFilter.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.filter;
+package org.apache.rocketmq.dashboard.filter;
 
 import java.io.IOException;
 import javax.servlet.Filter;
diff --git a/src/main/java/org/apache/rocketmq/console/interceptor/AuthInterceptor.java b/src/main/java/org/apache/rocketmq/dashboard/interceptor/AuthInterceptor.java
similarity index 92%
rename from src/main/java/org/apache/rocketmq/console/interceptor/AuthInterceptor.java
rename to src/main/java/org/apache/rocketmq/dashboard/interceptor/AuthInterceptor.java
index fdc3b6a..af92388 100644
--- a/src/main/java/org/apache/rocketmq/console/interceptor/AuthInterceptor.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/interceptor/AuthInterceptor.java
@@ -15,9 +15,9 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.interceptor;
+package org.apache.rocketmq.dashboard.interceptor;
 
-import org.apache.rocketmq.console.service.LoginService;
+import org.apache.rocketmq.dashboard.service.LoginService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
diff --git a/src/main/java/org/apache/rocketmq/console/model/ConnectionInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/ConnectionInfo.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/ConnectionInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/ConnectionInfo.java
index 6e8dd19..660a30b 100644
--- a/src/main/java/org/apache/rocketmq/console/model/ConnectionInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/ConnectionInfo.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import com.google.common.collect.Sets;
 import java.util.Collection;
diff --git a/src/main/java/org/apache/rocketmq/console/model/ConsumerGroupRollBackStat.java b/src/main/java/org/apache/rocketmq/dashboard/model/ConsumerGroupRollBackStat.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/ConsumerGroupRollBackStat.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/ConsumerGroupRollBackStat.java
index 3ddfe07..5c86982 100644
--- a/src/main/java/org/apache/rocketmq/console/model/ConsumerGroupRollBackStat.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/ConsumerGroupRollBackStat.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import org.apache.rocketmq.common.admin.RollbackStats;
 import com.google.common.collect.Lists;
diff --git a/src/main/java/org/apache/rocketmq/console/model/ConsumerMonitorConfig.java b/src/main/java/org/apache/rocketmq/dashboard/model/ConsumerMonitorConfig.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/model/ConsumerMonitorConfig.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/ConsumerMonitorConfig.java
index 9124f00..9e7f927 100644
--- a/src/main/java/org/apache/rocketmq/console/model/ConsumerMonitorConfig.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/ConsumerMonitorConfig.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 public class ConsumerMonitorConfig {
     private int minCount;
diff --git a/src/main/java/org/apache/rocketmq/console/model/GroupConsumeInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/GroupConsumeInfo.java
similarity index 98%
rename from src/main/java/org/apache/rocketmq/console/model/GroupConsumeInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/GroupConsumeInfo.java
index 5d81f2e..772c3ec 100644
--- a/src/main/java/org/apache/rocketmq/console/model/GroupConsumeInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/GroupConsumeInfo.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import org.apache.rocketmq.common.protocol.heartbeat.ConsumeType;
 import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
diff --git a/src/main/java/org/apache/rocketmq/console/model/LoginInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/LoginInfo.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/model/LoginInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/LoginInfo.java
index 68b7e7a..e88a63e 100644
--- a/src/main/java/org/apache/rocketmq/console/model/LoginInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/LoginInfo.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 public class LoginInfo {
     private boolean loginRequired;
diff --git a/src/main/java/org/apache/rocketmq/console/model/MessagePage.java b/src/main/java/org/apache/rocketmq/dashboard/model/MessagePage.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/MessagePage.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/MessagePage.java
index 2a803d8..f6779e7 100644
--- a/src/main/java/org/apache/rocketmq/console/model/MessagePage.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/MessagePage.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 
 import org.springframework.data.domain.Page;
diff --git a/src/main/java/org/apache/rocketmq/console/model/MessagePageTask.java b/src/main/java/org/apache/rocketmq/dashboard/model/MessagePageTask.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/MessagePageTask.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/MessagePageTask.java
index 31cc18a..7ea1a79 100644
--- a/src/main/java/org/apache/rocketmq/console/model/MessagePageTask.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/MessagePageTask.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import org.springframework.data.domain.Page;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/MessageQueryByPage.java b/src/main/java/org/apache/rocketmq/dashboard/model/MessageQueryByPage.java
similarity index 98%
rename from src/main/java/org/apache/rocketmq/console/model/MessageQueryByPage.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/MessageQueryByPage.java
index b3370c4..306de2b 100644
--- a/src/main/java/org/apache/rocketmq/console/model/MessageQueryByPage.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/MessageQueryByPage.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 
 import org.springframework.data.domain.PageRequest;
diff --git a/src/main/java/org/apache/rocketmq/console/model/MessageTraceView.java b/src/main/java/org/apache/rocketmq/dashboard/model/MessageTraceView.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/MessageTraceView.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/MessageTraceView.java
index a3e4e65..dc85508 100644
--- a/src/main/java/org/apache/rocketmq/console/model/MessageTraceView.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/MessageTraceView.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import com.google.common.base.Charsets;
 import org.apache.rocketmq.client.trace.TraceBean;
 import org.apache.rocketmq.client.trace.TraceContext;
 import org.apache.rocketmq.common.message.MessageExt;
-import org.apache.rocketmq.console.model.trace.MessageTraceStatusEnum;
-import org.apache.rocketmq.console.util.MsgTraceDecodeUtil;
+import org.apache.rocketmq.dashboard.model.trace.MessageTraceStatusEnum;
+import org.apache.rocketmq.dashboard.util.MsgTraceDecodeUtil;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/org/apache/rocketmq/console/model/MessageView.java b/src/main/java/org/apache/rocketmq/dashboard/model/MessageView.java
similarity index 99%
rename from src/main/java/org/apache/rocketmq/console/model/MessageView.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/MessageView.java
index 4011cad..c949242 100644
--- a/src/main/java/org/apache/rocketmq/console/model/MessageView.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/MessageView.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import org.apache.rocketmq.common.message.MessageExt;
 import com.google.common.base.Charsets;
diff --git a/src/main/java/org/apache/rocketmq/console/model/QueueOffsetInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/QueueOffsetInfo.java
similarity index 98%
rename from src/main/java/org/apache/rocketmq/console/model/QueueOffsetInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/QueueOffsetInfo.java
index 0940712..8a89c04 100644
--- a/src/main/java/org/apache/rocketmq/console/model/QueueOffsetInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/QueueOffsetInfo.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import org.apache.rocketmq.common.message.MessageQueue;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/QueueStatInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/QueueStatInfo.java
similarity index 98%
rename from src/main/java/org/apache/rocketmq/console/model/QueueStatInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/QueueStatInfo.java
index a6d67a8..99d7e4c 100644
--- a/src/main/java/org/apache/rocketmq/console/model/QueueStatInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/QueueStatInfo.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import org.apache.rocketmq.common.admin.OffsetWrapper;
 import org.apache.rocketmq.common.message.MessageQueue;
diff --git a/src/main/java/org/apache/rocketmq/console/model/TopicConsumerInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/TopicConsumerInfo.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/TopicConsumerInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/TopicConsumerInfo.java
index bd6d8e2..e81db3e 100644
--- a/src/main/java/org/apache/rocketmq/console/model/TopicConsumerInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/TopicConsumerInfo.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import com.google.common.collect.Lists;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/User.java b/src/main/java/org/apache/rocketmq/dashboard/model/User.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/User.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/User.java
index 7dd2ba8..570d38e 100644
--- a/src/main/java/org/apache/rocketmq/console/model/User.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/User.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 import org.hibernate.validator.constraints.Range;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/UserInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/UserInfo.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/UserInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/UserInfo.java
index 555dec1..8d0cd8f 100644
--- a/src/main/java/org/apache/rocketmq/console/model/UserInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/UserInfo.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model;
+package org.apache.rocketmq.dashboard.model;
 
 public class UserInfo {
     public static final String USER_INFO = "userInfo";
diff --git a/src/main/java/org/apache/rocketmq/console/model/request/ConsumerConfigInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/request/ConsumerConfigInfo.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/request/ConsumerConfigInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/request/ConsumerConfigInfo.java
index cee155c..d7e8b76 100644
--- a/src/main/java/org/apache/rocketmq/console/model/request/ConsumerConfigInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/request/ConsumerConfigInfo.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model.request;
+package org.apache.rocketmq.dashboard.model.request;
 
 import org.apache.rocketmq.common.subscription.SubscriptionGroupConfig;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/request/DeleteSubGroupRequest.java b/src/main/java/org/apache/rocketmq/dashboard/model/request/DeleteSubGroupRequest.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/model/request/DeleteSubGroupRequest.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/request/DeleteSubGroupRequest.java
index 152256b..be6fc6c 100644
--- a/src/main/java/org/apache/rocketmq/console/model/request/DeleteSubGroupRequest.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/request/DeleteSubGroupRequest.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model.request;
+package org.apache.rocketmq.dashboard.model.request;
 
 import java.util.List;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/request/MessageQuery.java b/src/main/java/org/apache/rocketmq/dashboard/model/request/MessageQuery.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/model/request/MessageQuery.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/request/MessageQuery.java
index f78fe09..2778052 100644
--- a/src/main/java/org/apache/rocketmq/console/model/request/MessageQuery.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/request/MessageQuery.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model.request;
+package org.apache.rocketmq.dashboard.model.request;
 
 public class MessageQuery {
     /**
diff --git a/src/main/java/org/apache/rocketmq/console/model/request/ResetOffsetRequest.java b/src/main/java/org/apache/rocketmq/dashboard/model/request/ResetOffsetRequest.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/model/request/ResetOffsetRequest.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/request/ResetOffsetRequest.java
index 22263af..44dd98e 100644
--- a/src/main/java/org/apache/rocketmq/console/model/request/ResetOffsetRequest.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/request/ResetOffsetRequest.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model.request;
+package org.apache.rocketmq.dashboard.model.request;
 
 import java.util.List;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/request/SendTopicMessageRequest.java b/src/main/java/org/apache/rocketmq/dashboard/model/request/SendTopicMessageRequest.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/model/request/SendTopicMessageRequest.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/request/SendTopicMessageRequest.java
index c3b1bd8..e266b6f 100644
--- a/src/main/java/org/apache/rocketmq/console/model/request/SendTopicMessageRequest.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/request/SendTopicMessageRequest.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model.request;
+package org.apache.rocketmq.dashboard.model.request;
 
 import lombok.Data;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/request/TopicConfigInfo.java b/src/main/java/org/apache/rocketmq/dashboard/model/request/TopicConfigInfo.java
similarity index 98%
rename from src/main/java/org/apache/rocketmq/console/model/request/TopicConfigInfo.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/request/TopicConfigInfo.java
index e1f56d4..c9b9b55 100644
--- a/src/main/java/org/apache/rocketmq/console/model/request/TopicConfigInfo.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/request/TopicConfigInfo.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model.request;
+package org.apache.rocketmq.dashboard.model.request;
 
 import com.google.common.base.Objects;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/trace/MessageTraceGraph.java b/src/main/java/org/apache/rocketmq/dashboard/model/trace/MessageTraceGraph.java
similarity index 90%
rename from src/main/java/org/apache/rocketmq/console/model/trace/MessageTraceGraph.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/trace/MessageTraceGraph.java
index 040aa57..d92f924 100644
--- a/src/main/java/org/apache/rocketmq/console/model/trace/MessageTraceGraph.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/trace/MessageTraceGraph.java
@@ -15,10 +15,10 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.model.trace;
+package org.apache.rocketmq.dashboard.model.trace;
 
 import lombok.Data;
-import org.apache.rocketmq.console.model.MessageTraceView;
+import org.apache.rocketmq.dashboard.model.MessageTraceView;
 
 import java.util.List;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/trace/MessageTraceStatusEnum.java b/src/main/java/org/apache/rocketmq/dashboard/model/trace/MessageTraceStatusEnum.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/model/trace/MessageTraceStatusEnum.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/trace/MessageTraceStatusEnum.java
index 9b70e7a..16e2c0e 100644
--- a/src/main/java/org/apache/rocketmq/console/model/trace/MessageTraceStatusEnum.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/trace/MessageTraceStatusEnum.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.model.trace;
+package org.apache.rocketmq.dashboard.model.trace;
 
 import lombok.Getter;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/trace/ProducerNode.java b/src/main/java/org/apache/rocketmq/dashboard/model/trace/ProducerNode.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/model/trace/ProducerNode.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/trace/ProducerNode.java
index d650397..f5c2cad 100644
--- a/src/main/java/org/apache/rocketmq/console/model/trace/ProducerNode.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/trace/ProducerNode.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model.trace;
+package org.apache.rocketmq.dashboard.model.trace;
 
 import lombok.Data;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/trace/SubscriptionNode.java b/src/main/java/org/apache/rocketmq/dashboard/model/trace/SubscriptionNode.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/model/trace/SubscriptionNode.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/trace/SubscriptionNode.java
index d71044f..cd7b9d7 100644
--- a/src/main/java/org/apache/rocketmq/console/model/trace/SubscriptionNode.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/trace/SubscriptionNode.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.model.trace;
+package org.apache.rocketmq.dashboard.model.trace;
 
 import lombok.Data;
 
diff --git a/src/main/java/org/apache/rocketmq/console/model/trace/TraceNode.java b/src/main/java/org/apache/rocketmq/dashboard/model/trace/TraceNode.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/model/trace/TraceNode.java
rename to src/main/java/org/apache/rocketmq/dashboard/model/trace/TraceNode.java
index caf3de6..96f2bc9 100644
--- a/src/main/java/org/apache/rocketmq/console/model/trace/TraceNode.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/model/trace/TraceNode.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.model.trace;
+package org.apache.rocketmq.dashboard.model.trace;
 
 import lombok.Data;
 
diff --git a/src/main/java/org/apache/rocketmq/console/service/AbstractCommonService.java b/src/main/java/org/apache/rocketmq/dashboard/service/AbstractCommonService.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/service/AbstractCommonService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/AbstractCommonService.java
index 53a0e21..7813897 100644
--- a/src/main/java/org/apache/rocketmq/console/service/AbstractCommonService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/AbstractCommonService.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import org.apache.rocketmq.tools.admin.MQAdminExt;
 import com.google.common.base.Throwables;
diff --git a/src/main/java/org/apache/rocketmq/console/service/ClusterService.java b/src/main/java/org/apache/rocketmq/dashboard/service/ClusterService.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/service/ClusterService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/ClusterService.java
index 43489fb..9c567c0 100644
--- a/src/main/java/org/apache/rocketmq/console/service/ClusterService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/ClusterService.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import java.util.Map;
 import java.util.Properties;
diff --git a/src/main/java/org/apache/rocketmq/console/service/ConsumerService.java b/src/main/java/org/apache/rocketmq/dashboard/service/ConsumerService.java
similarity index 81%
rename from src/main/java/org/apache/rocketmq/console/service/ConsumerService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/ConsumerService.java
index 1d9ac12..8455155 100644
--- a/src/main/java/org/apache/rocketmq/console/service/ConsumerService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/ConsumerService.java
@@ -15,16 +15,16 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import org.apache.rocketmq.common.protocol.body.ConsumerConnection;
 import org.apache.rocketmq.common.protocol.body.ConsumerRunningInfo;
-import org.apache.rocketmq.console.model.ConsumerGroupRollBackStat;
-import org.apache.rocketmq.console.model.GroupConsumeInfo;
-import org.apache.rocketmq.console.model.TopicConsumerInfo;
-import org.apache.rocketmq.console.model.request.ConsumerConfigInfo;
-import org.apache.rocketmq.console.model.request.DeleteSubGroupRequest;
-import org.apache.rocketmq.console.model.request.ResetOffsetRequest;
+import org.apache.rocketmq.dashboard.model.ConsumerGroupRollBackStat;
+import org.apache.rocketmq.dashboard.model.GroupConsumeInfo;
+import org.apache.rocketmq.dashboard.model.TopicConsumerInfo;
+import org.apache.rocketmq.dashboard.model.request.ConsumerConfigInfo;
+import org.apache.rocketmq.dashboard.model.request.DeleteSubGroupRequest;
+import org.apache.rocketmq.dashboard.model.request.ResetOffsetRequest;
 
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/org/apache/rocketmq/console/service/DashboardCollectService.java b/src/main/java/org/apache/rocketmq/dashboard/service/DashboardCollectService.java
similarity index 90%
rename from src/main/java/org/apache/rocketmq/console/service/DashboardCollectService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/DashboardCollectService.java
index 27a3645..6ebf9af 100644
--- a/src/main/java/org/apache/rocketmq/console/service/DashboardCollectService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/DashboardCollectService.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import com.google.common.cache.LoadingCache;
 import java.io.File;
@@ -22,7 +22,7 @@ import java.util.List;
 import java.util.Map;
 
 public interface DashboardCollectService {
-    // todo just move the task to org.apache.rocketmq.console.task.DashboardCollectTask
+    // todo just move the task to org.apache.rocketmq.dashboard.task.DashboardCollectTask
     // the code can be reconstruct
     LoadingCache<String, List<String>> getBrokerMap();
 
diff --git a/src/main/java/org/apache/rocketmq/console/service/DashboardService.java b/src/main/java/org/apache/rocketmq/dashboard/service/DashboardService.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/service/DashboardService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/DashboardService.java
index a4cf798..3dc5041 100644
--- a/src/main/java/org/apache/rocketmq/console/service/DashboardService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/DashboardService.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/org/apache/rocketmq/console/service/LoginService.java b/src/main/java/org/apache/rocketmq/dashboard/service/LoginService.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/service/LoginService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/LoginService.java
index 34af054..0fd1a01 100644
--- a/src/main/java/org/apache/rocketmq/console/service/LoginService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/LoginService.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
diff --git a/src/main/java/org/apache/rocketmq/console/service/MessageService.java b/src/main/java/org/apache/rocketmq/dashboard/service/MessageService.java
similarity index 89%
rename from src/main/java/org/apache/rocketmq/console/service/MessageService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/MessageService.java
index af8d6fb..d14c13e 100644
--- a/src/main/java/org/apache/rocketmq/console/service/MessageService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/MessageService.java
@@ -15,15 +15,15 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import org.apache.rocketmq.common.Pair;
 import org.apache.rocketmq.common.message.MessageExt;
 import org.apache.rocketmq.common.protocol.body.ConsumeMessageDirectlyResult;
-import org.apache.rocketmq.console.model.MessagePage;
-import org.apache.rocketmq.console.model.request.MessageQuery;
+import org.apache.rocketmq.dashboard.model.MessagePage;
+import org.apache.rocketmq.dashboard.model.request.MessageQuery;
 import org.apache.rocketmq.tools.admin.api.MessageTrack;
-import org.apache.rocketmq.console.model.MessageView;
+import org.apache.rocketmq.dashboard.model.MessageView;
 
 import java.util.List;
 
diff --git a/src/main/java/org/apache/rocketmq/console/service/MessageTraceService.java b/src/main/java/org/apache/rocketmq/dashboard/service/MessageTraceService.java
similarity index 86%
rename from src/main/java/org/apache/rocketmq/console/service/MessageTraceService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/MessageTraceService.java
index 535d424..264cd32 100644
--- a/src/main/java/org/apache/rocketmq/console/service/MessageTraceService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/MessageTraceService.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import java.util.List;
-import org.apache.rocketmq.console.model.MessageTraceView;
-import org.apache.rocketmq.console.model.trace.MessageTraceGraph;
+import org.apache.rocketmq.dashboard.model.MessageTraceView;
+import org.apache.rocketmq.dashboard.model.trace.MessageTraceGraph;
 
 public interface MessageTraceService {
 
diff --git a/src/main/java/org/apache/rocketmq/console/service/MonitorService.java b/src/main/java/org/apache/rocketmq/dashboard/service/MonitorService.java
similarity index 91%
rename from src/main/java/org/apache/rocketmq/console/service/MonitorService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/MonitorService.java
index 4bf659c..f3697e9 100644
--- a/src/main/java/org/apache/rocketmq/console/service/MonitorService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/MonitorService.java
@@ -14,10 +14,10 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import java.util.Map;
-import org.apache.rocketmq.console.model.ConsumerMonitorConfig;
+import org.apache.rocketmq.dashboard.model.ConsumerMonitorConfig;
 
 public interface MonitorService {
     boolean createOrUpdateConsumerMonitor(String name, ConsumerMonitorConfig config);
diff --git a/src/main/java/org/apache/rocketmq/console/service/OpsService.java b/src/main/java/org/apache/rocketmq/dashboard/service/OpsService.java
similarity index 90%
rename from src/main/java/org/apache/rocketmq/console/service/OpsService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/OpsService.java
index 1fd9eae..bea6d24 100644
--- a/src/main/java/org/apache/rocketmq/console/service/OpsService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/OpsService.java
@@ -14,10 +14,10 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import java.util.Map;
-import org.apache.rocketmq.console.service.checker.CheckerType;
+import org.apache.rocketmq.dashboard.service.checker.CheckerType;
 
 public interface OpsService {
     Map<String, Object> homePageInfo();
diff --git a/src/main/java/org/apache/rocketmq/console/service/ProducerService.java b/src/main/java/org/apache/rocketmq/dashboard/service/ProducerService.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/service/ProducerService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/ProducerService.java
index cda7c48..7deb290 100644
--- a/src/main/java/org/apache/rocketmq/console/service/ProducerService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/ProducerService.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import org.apache.rocketmq.common.protocol.body.ProducerConnection;
 
diff --git a/src/main/java/org/apache/rocketmq/console/service/TopicService.java b/src/main/java/org/apache/rocketmq/dashboard/service/TopicService.java
similarity index 90%
rename from src/main/java/org/apache/rocketmq/console/service/TopicService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/TopicService.java
index ff2d308..b5675f4 100644
--- a/src/main/java/org/apache/rocketmq/console/service/TopicService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/TopicService.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
 import org.apache.rocketmq.client.producer.SendResult;
 import org.apache.rocketmq.common.TopicConfig;
@@ -23,8 +23,8 @@ import org.apache.rocketmq.common.admin.TopicStatsTable;
 import org.apache.rocketmq.common.protocol.body.GroupList;
 import org.apache.rocketmq.common.protocol.body.TopicList;
 import org.apache.rocketmq.common.protocol.route.TopicRouteData;
-import org.apache.rocketmq.console.model.request.SendTopicMessageRequest;
-import org.apache.rocketmq.console.model.request.TopicConfigInfo;
+import org.apache.rocketmq.dashboard.model.request.SendTopicMessageRequest;
+import org.apache.rocketmq.dashboard.model.request.TopicConfigInfo;
 
 import java.util.List;
 
diff --git a/src/main/java/org/apache/rocketmq/console/service/UserService.java b/src/main/java/org/apache/rocketmq/dashboard/service/UserService.java
similarity index 90%
rename from src/main/java/org/apache/rocketmq/console/service/UserService.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/UserService.java
index 02d9096..3ddade9 100644
--- a/src/main/java/org/apache/rocketmq/console/service/UserService.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/UserService.java
@@ -14,9 +14,9 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service;
+package org.apache.rocketmq.dashboard.service;
 
-import org.apache.rocketmq.console.model.User;
+import org.apache.rocketmq.dashboard.model.User;
 
 public interface UserService {
     User queryByName(String name);
diff --git a/src/main/java/org/apache/rocketmq/console/service/checker/CheckerType.java b/src/main/java/org/apache/rocketmq/dashboard/service/checker/CheckerType.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/service/checker/CheckerType.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/checker/CheckerType.java
index 8a85008..18a8c1a 100644
--- a/src/main/java/org/apache/rocketmq/console/service/checker/CheckerType.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/checker/CheckerType.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.checker;
+package org.apache.rocketmq.dashboard.service.checker;
 
 public enum CheckerType {
     CLUSTER_HEALTH_CHECK,
diff --git a/src/main/java/org/apache/rocketmq/console/service/checker/RocketMqChecker.java b/src/main/java/org/apache/rocketmq/dashboard/service/checker/RocketMqChecker.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/service/checker/RocketMqChecker.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/checker/RocketMqChecker.java
index 3b8f58d..3902f5e 100644
--- a/src/main/java/org/apache/rocketmq/console/service/checker/RocketMqChecker.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/checker/RocketMqChecker.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.checker;
+package org.apache.rocketmq.dashboard.service.checker;
 
 public interface RocketMqChecker {
     public Object doCheck();
diff --git a/src/main/java/org/apache/rocketmq/console/service/checker/impl/ClusterHealthCheckerImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/checker/impl/ClusterHealthCheckerImpl.java
similarity index 85%
rename from src/main/java/org/apache/rocketmq/console/service/checker/impl/ClusterHealthCheckerImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/checker/impl/ClusterHealthCheckerImpl.java
index 5c2c893..f279284 100644
--- a/src/main/java/org/apache/rocketmq/console/service/checker/impl/ClusterHealthCheckerImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/checker/impl/ClusterHealthCheckerImpl.java
@@ -14,10 +14,10 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.checker.impl;
+package org.apache.rocketmq.dashboard.service.checker.impl;
 
-import org.apache.rocketmq.console.service.checker.CheckerType;
-import org.apache.rocketmq.console.service.checker.RocketMqChecker;
+import org.apache.rocketmq.dashboard.service.checker.CheckerType;
+import org.apache.rocketmq.dashboard.service.checker.RocketMqChecker;
 import org.springframework.stereotype.Service;
 
 @Service
diff --git a/src/main/java/org/apache/rocketmq/console/service/checker/impl/TopicOnlyOneBrokerCheckerImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/checker/impl/TopicOnlyOneBrokerCheckerImpl.java
similarity index 85%
rename from src/main/java/org/apache/rocketmq/console/service/checker/impl/TopicOnlyOneBrokerCheckerImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/checker/impl/TopicOnlyOneBrokerCheckerImpl.java
index e276978..160dace 100644
--- a/src/main/java/org/apache/rocketmq/console/service/checker/impl/TopicOnlyOneBrokerCheckerImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/checker/impl/TopicOnlyOneBrokerCheckerImpl.java
@@ -14,10 +14,10 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.checker.impl;
+package org.apache.rocketmq.dashboard.service.checker.impl;
 
-import org.apache.rocketmq.console.service.checker.CheckerType;
-import org.apache.rocketmq.console.service.checker.RocketMqChecker;
+import org.apache.rocketmq.dashboard.service.checker.CheckerType;
+import org.apache.rocketmq.dashboard.service.checker.RocketMqChecker;
 import org.springframework.stereotype.Service;
 
 
diff --git a/src/main/java/org/apache/rocketmq/console/service/client/MQAdminExtImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminExtImpl.java
similarity index 98%
rename from src/main/java/org/apache/rocketmq/console/service/client/MQAdminExtImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminExtImpl.java
index 809931b..c10ffcd 100644
--- a/src/main/java/org/apache/rocketmq/console/service/client/MQAdminExtImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminExtImpl.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.client;
+package org.apache.rocketmq.dashboard.service.client;
 
 import com.google.common.base.Throwables;
 import java.io.UnsupportedEncodingException;
@@ -54,7 +54,7 @@ import org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper;
 import org.apache.rocketmq.common.protocol.body.TopicList;
 import org.apache.rocketmq.common.protocol.route.TopicRouteData;
 import org.apache.rocketmq.common.subscription.SubscriptionGroupConfig;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.apache.rocketmq.remoting.RemotingClient;
 import org.apache.rocketmq.remoting.exception.RemotingCommandException;
 import org.apache.rocketmq.remoting.exception.RemotingConnectException;
@@ -409,13 +409,13 @@ public class MQAdminExtImpl implements MQAdminExt {
     @Override
     @Deprecated
     public void start() throws MQClientException {
-        throw new IllegalStateException("thisMethod is deprecated.use org.apache.rocketmq.console.aspect.admin.MQAdminAspect instead of this");
+        throw new IllegalStateException("thisMethod is deprecated.use org.apache.rocketmq.dashboard.aspect.admin.MQAdminAspect instead of this");
     }
 
     @Override
     @Deprecated
     public void shutdown() {
-        throw new IllegalStateException("thisMethod is deprecated.use org.apache.rocketmq.console.aspect.admin.MQAdminAspect instead of this");
+        throw new IllegalStateException("thisMethod is deprecated.use org.apache.rocketmq.dashboard.aspect.admin.MQAdminAspect instead of this");
     }
 
     // below is 3.2.6->3.5.8 updated
diff --git a/src/main/java/org/apache/rocketmq/console/service/client/MQAdminInstance.java b/src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminInstance.java
similarity index 98%
rename from src/main/java/org/apache/rocketmq/console/service/client/MQAdminInstance.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminInstance.java
index 991931f..dfe7771 100644
--- a/src/main/java/org/apache/rocketmq/console/service/client/MQAdminInstance.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/client/MQAdminInstance.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.client;
+package org.apache.rocketmq.dashboard.service.client;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.acl.common.AclClientRPCHook;
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/ClusterServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ClusterServiceImpl.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/service/impl/ClusterServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/ClusterServiceImpl.java
index fd3fdc0..74ec6bb 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/ClusterServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ClusterServiceImpl.java
@@ -15,14 +15,14 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 import org.apache.rocketmq.common.protocol.body.ClusterInfo;
 import org.apache.rocketmq.common.protocol.body.KVTable;
 import org.apache.rocketmq.common.protocol.route.BrokerData;
 import org.apache.rocketmq.tools.admin.MQAdminExt;
-import org.apache.rocketmq.console.service.ClusterService;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.service.ClusterService;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import com.google.common.base.Throwables;
 import com.google.common.collect.Maps;
 import org.slf4j.Logger;
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/ConsumerServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java
similarity index 95%
rename from src/main/java/org/apache/rocketmq/console/service/impl/ConsumerServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java
index 87ddb06..93f0cf7 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/ConsumerServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 import com.google.common.base.Predicate;
 import com.google.common.base.Throwables;
@@ -43,16 +43,16 @@ import org.apache.rocketmq.common.protocol.body.GroupList;
 import org.apache.rocketmq.common.protocol.body.SubscriptionGroupWrapper;
 import org.apache.rocketmq.common.protocol.route.BrokerData;
 import org.apache.rocketmq.common.subscription.SubscriptionGroupConfig;
-import org.apache.rocketmq.console.aspect.admin.annotation.MultiMQAdminCmdMethod;
-import org.apache.rocketmq.console.model.ConsumerGroupRollBackStat;
-import org.apache.rocketmq.console.model.GroupConsumeInfo;
-import org.apache.rocketmq.console.model.QueueStatInfo;
-import org.apache.rocketmq.console.model.TopicConsumerInfo;
-import org.apache.rocketmq.console.model.request.ConsumerConfigInfo;
-import org.apache.rocketmq.console.model.request.DeleteSubGroupRequest;
-import org.apache.rocketmq.console.model.request.ResetOffsetRequest;
-import org.apache.rocketmq.console.service.AbstractCommonService;
-import org.apache.rocketmq.console.service.ConsumerService;
+import org.apache.rocketmq.dashboard.aspect.admin.annotation.MultiMQAdminCmdMethod;
+import org.apache.rocketmq.dashboard.model.ConsumerGroupRollBackStat;
+import org.apache.rocketmq.dashboard.model.GroupConsumeInfo;
+import org.apache.rocketmq.dashboard.model.QueueStatInfo;
+import org.apache.rocketmq.dashboard.model.TopicConsumerInfo;
+import org.apache.rocketmq.dashboard.model.request.ConsumerConfigInfo;
+import org.apache.rocketmq.dashboard.model.request.DeleteSubGroupRequest;
+import org.apache.rocketmq.dashboard.model.request.ResetOffsetRequest;
+import org.apache.rocketmq.dashboard.service.AbstractCommonService;
+import org.apache.rocketmq.dashboard.service.ConsumerService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/DashboardCollectServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/DashboardCollectServiceImpl.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/service/impl/DashboardCollectServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/DashboardCollectServiceImpl.java
index 8213baa..442a94b 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/DashboardCollectServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/DashboardCollectServiceImpl.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -35,8 +35,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import javax.annotation.Resource;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.service.DashboardCollectService;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.service.DashboardCollectService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -133,7 +133,7 @@ public class DashboardCollectServiceImpl implements DashboardCollectService {
 
     @Override
     public Map<String, List<String>> getBrokerCache(String date) {
-        String dataLocationPath = configure.getConsoleCollectData();
+        String dataLocationPath = configure.getDashboardCollectData();
         File file = new File(dataLocationPath + date + ".json");
         if (!file.exists()) {
             log.info(String.format("No dashboard data for broker cache data: %s", date));
@@ -144,7 +144,7 @@ public class DashboardCollectServiceImpl implements DashboardCollectService {
 
     @Override
     public Map<String, List<String>> getTopicCache(String date) {
-        String dataLocationPath = configure.getConsoleCollectData();
+        String dataLocationPath = configure.getDashboardCollectData();
         File file = new File(dataLocationPath + date + "_topic" + ".json");
         if (!file.exists()) {
             log.info(String.format("No dashboard data for data: %s", date));
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/DashboardServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/DashboardServiceImpl.java
similarity index 93%
rename from src/main/java/org/apache/rocketmq/console/service/impl/DashboardServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/DashboardServiceImpl.java
index 3189093..b2885e4 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/DashboardServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/DashboardServiceImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 import com.google.common.collect.Lists;
 import java.text.DateFormat;
@@ -24,8 +24,8 @@ import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import javax.annotation.Resource;
-import org.apache.rocketmq.console.service.DashboardCollectService;
-import org.apache.rocketmq.console.service.DashboardService;
+import org.apache.rocketmq.dashboard.service.DashboardCollectService;
+import org.apache.rocketmq.dashboard.service.DashboardService;
 import org.springframework.stereotype.Service;
 
 @Service
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/LoginServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/LoginServiceImpl.java
similarity index 89%
rename from src/main/java/org/apache/rocketmq/console/service/impl/LoginServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/LoginServiceImpl.java
index e56bc19..f732727 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/LoginServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/LoginServiceImpl.java
@@ -15,12 +15,12 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.service.LoginService;
-import org.apache.rocketmq.console.service.UserService;
-import org.apache.rocketmq.console.util.WebUtil;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.service.LoginService;
+import org.apache.rocketmq.dashboard.service.UserService;
+import org.apache.rocketmq.dashboard.util.WebUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/MessageServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/MessageServiceImpl.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/service/impl/MessageServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/MessageServiceImpl.java
index 5182b0b..7623748 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/MessageServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/MessageServiceImpl.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 
 import com.google.common.base.Function;
@@ -39,15 +39,15 @@ import org.apache.rocketmq.common.message.MessageQueue;
 import org.apache.rocketmq.common.protocol.body.Connection;
 import org.apache.rocketmq.common.protocol.body.ConsumeMessageDirectlyResult;
 import org.apache.rocketmq.common.protocol.body.ConsumerConnection;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.exception.ServiceException;
-import org.apache.rocketmq.console.model.QueueOffsetInfo;
-import org.apache.rocketmq.console.model.MessageView;
-import org.apache.rocketmq.console.model.MessagePage;
-import org.apache.rocketmq.console.model.MessagePageTask;
-import org.apache.rocketmq.console.model.MessageQueryByPage;
-import org.apache.rocketmq.console.model.request.MessageQuery;
-import org.apache.rocketmq.console.service.MessageService;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.exception.ServiceException;
+import org.apache.rocketmq.dashboard.model.QueueOffsetInfo;
+import org.apache.rocketmq.dashboard.model.MessageView;
+import org.apache.rocketmq.dashboard.model.MessagePage;
+import org.apache.rocketmq.dashboard.model.MessagePageTask;
+import org.apache.rocketmq.dashboard.model.MessageQueryByPage;
+import org.apache.rocketmq.dashboard.model.request.MessageQuery;
+import org.apache.rocketmq.dashboard.service.MessageService;
 import org.apache.rocketmq.remoting.RPCHook;
 import org.apache.rocketmq.tools.admin.MQAdminExt;
 import org.apache.rocketmq.tools.admin.api.MessageTrack;
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/MessageTraceServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/MessageTraceServiceImpl.java
similarity index 94%
rename from src/main/java/org/apache/rocketmq/console/service/impl/MessageTraceServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/MessageTraceServiceImpl.java
index fb76192..cc6fd15 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/MessageTraceServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/MessageTraceServiceImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 import com.google.common.base.Function;
 import com.google.common.collect.Lists;
@@ -33,14 +33,14 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.rocketmq.client.trace.TraceType;
 import org.apache.rocketmq.common.Pair;
 import org.apache.rocketmq.common.message.MessageExt;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.model.MessageTraceView;
-import org.apache.rocketmq.console.model.trace.ProducerNode;
-import org.apache.rocketmq.console.model.trace.MessageTraceGraph;
-import org.apache.rocketmq.console.model.trace.SubscriptionNode;
-import org.apache.rocketmq.console.model.trace.TraceNode;
-import org.apache.rocketmq.console.model.trace.MessageTraceStatusEnum;
-import org.apache.rocketmq.console.service.MessageTraceService;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.model.MessageTraceView;
+import org.apache.rocketmq.dashboard.model.trace.ProducerNode;
+import org.apache.rocketmq.dashboard.model.trace.MessageTraceGraph;
+import org.apache.rocketmq.dashboard.model.trace.SubscriptionNode;
+import org.apache.rocketmq.dashboard.model.trace.TraceNode;
+import org.apache.rocketmq.dashboard.model.trace.MessageTraceStatusEnum;
+import org.apache.rocketmq.dashboard.service.MessageTraceService;
 import org.apache.rocketmq.tools.admin.MQAdminExt;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/MonitorServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/MonitorServiceImpl.java
similarity index 88%
rename from src/main/java/org/apache/rocketmq/console/service/impl/MonitorServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/MonitorServiceImpl.java
index 9bc938f..b962173 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/MonitorServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/MonitorServiceImpl.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.google.common.base.Throwables;
@@ -25,10 +25,10 @@ import java.util.concurrent.ConcurrentHashMap;
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import org.apache.rocketmq.common.MixAll;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.model.ConsumerMonitorConfig;
-import org.apache.rocketmq.console.service.MonitorService;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.model.ConsumerMonitorConfig;
+import org.apache.rocketmq.dashboard.service.MonitorService;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.springframework.stereotype.Service;
 
 @Service
@@ -66,7 +66,7 @@ public class MonitorServiceImpl implements MonitorService {
 
     //rocketmq.console.data.path/monitor/consumerMonitorConfig.json
     private String getConsumerMonitorConfigDataPath() {
-        return configure.getRocketMqConsoleDataPath() + File.separatorChar + "monitor" + File.separatorChar + "consumerMonitorConfig.json";
+        return configure.getRocketMqDashboardDataPath() + File.separatorChar + "monitor" + File.separatorChar + "consumerMonitorConfig.json";
     }
 
     private String getConsumerMonitorConfigDataPathBackUp() {
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/OpsServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/OpsServiceImpl.java
similarity index 87%
rename from src/main/java/org/apache/rocketmq/console/service/impl/OpsServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/OpsServiceImpl.java
index d37fdb0..8829c73 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/OpsServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/OpsServiceImpl.java
@@ -14,18 +14,18 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.service.impl;
+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;
 import javax.annotation.Resource;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.service.AbstractCommonService;
-import org.apache.rocketmq.console.service.OpsService;
-import org.apache.rocketmq.console.service.checker.CheckerType;
-import org.apache.rocketmq.console.service.checker.RocketMqChecker;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.service.AbstractCommonService;
+import org.apache.rocketmq.dashboard.service.OpsService;
+import org.apache.rocketmq.dashboard.service.checker.CheckerType;
+import org.apache.rocketmq.dashboard.service.checker.RocketMqChecker;
 import org.springframework.stereotype.Service;
 
 @Service
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/ProducerServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ProducerServiceImpl.java
similarity index 92%
rename from src/main/java/org/apache/rocketmq/console/service/impl/ProducerServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/ProducerServiceImpl.java
index 3e46958..7dfcedc 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/ProducerServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ProducerServiceImpl.java
@@ -15,12 +15,12 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 import com.google.common.base.Throwables;
 import javax.annotation.Resource;
 import org.apache.rocketmq.common.protocol.body.ProducerConnection;
-import org.apache.rocketmq.console.service.ProducerService;
+import org.apache.rocketmq.dashboard.service.ProducerService;
 import org.apache.rocketmq.tools.admin.MQAdminExt;
 import org.springframework.stereotype.Service;
 
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/TopicServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/TopicServiceImpl.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/service/impl/TopicServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/TopicServiceImpl.java
index 700ee5b..7eee326 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/TopicServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/TopicServiceImpl.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
 import com.google.common.base.Throwables;
 import com.google.common.collect.Lists;
@@ -36,11 +36,11 @@ import org.apache.rocketmq.common.protocol.body.GroupList;
 import org.apache.rocketmq.common.protocol.body.TopicList;
 import org.apache.rocketmq.common.protocol.route.BrokerData;
 import org.apache.rocketmq.common.protocol.route.TopicRouteData;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.model.request.SendTopicMessageRequest;
-import org.apache.rocketmq.console.model.request.TopicConfigInfo;
-import org.apache.rocketmq.console.service.AbstractCommonService;
-import org.apache.rocketmq.console.service.TopicService;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.model.request.SendTopicMessageRequest;
+import org.apache.rocketmq.dashboard.model.request.TopicConfigInfo;
+import org.apache.rocketmq.dashboard.service.AbstractCommonService;
+import org.apache.rocketmq.dashboard.service.TopicService;
 import org.apache.rocketmq.remoting.RPCHook;
 import org.apache.rocketmq.tools.command.CommandUtil;
 import org.joor.Reflect;
diff --git a/src/main/java/org/apache/rocketmq/console/service/impl/UserServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/UserServiceImpl.java
similarity index 91%
rename from src/main/java/org/apache/rocketmq/console/service/impl/UserServiceImpl.java
rename to src/main/java/org/apache/rocketmq/dashboard/service/impl/UserServiceImpl.java
index 0c7c086..d04c667 100644
--- a/src/main/java/org/apache/rocketmq/console/service/impl/UserServiceImpl.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/UserServiceImpl.java
@@ -15,12 +15,12 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.service.impl;
+package org.apache.rocketmq.dashboard.service.impl;
 
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.exception.ServiceException;
-import org.apache.rocketmq.console.model.User;
-import org.apache.rocketmq.console.service.UserService;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.exception.ServiceException;
+import org.apache.rocketmq.dashboard.model.User;
+import org.apache.rocketmq.dashboard.service.UserService;
 import org.apache.rocketmq.srvutil.FileWatchService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -70,14 +70,14 @@ public class UserServiceImpl implements UserService, InitializingBean {
 
 
         public FileBasedUserInfoStore(RMQConfigure configure) {
-            filePath = configure.getRocketMqConsoleDataPath() + File.separator + FILE_NAME;
+            filePath = configure.getRocketMqDashboardDataPath() + File.separator + FILE_NAME;
             if (!new File(filePath).exists()) {
                 //Use the default path
                 InputStream inputStream = getClass().getResourceAsStream("/" + FILE_NAME);
                 if (inputStream == null) {
                     log.error(String.format("Can not found the file %s in Spring Boot jar", FILE_NAME));
-                    System.out.printf(String.format("Can not found file %s in Spring Boot jar or %s, stop the  console starting",
-                            FILE_NAME, configure.getRocketMqConsoleDataPath()));
+                    System.out.printf(String.format("Can not found file %s in Spring Boot jar or %s, stop the dashboard starting",
+                            FILE_NAME, configure.getRocketMqDashboardDataPath()));
                     System.exit(1);
                 } else {
                     load(inputStream);
diff --git a/src/main/java/org/apache/rocketmq/console/support/GlobalExceptionHandler.java b/src/main/java/org/apache/rocketmq/dashboard/support/GlobalExceptionHandler.java
similarity index 91%
rename from src/main/java/org/apache/rocketmq/console/support/GlobalExceptionHandler.java
rename to src/main/java/org/apache/rocketmq/dashboard/support/GlobalExceptionHandler.java
index ab44b64..d1c626e 100644
--- a/src/main/java/org/apache/rocketmq/console/support/GlobalExceptionHandler.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/support/GlobalExceptionHandler.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.support;
+package org.apache.rocketmq.dashboard.support;
 
 import javax.servlet.http.HttpServletRequest;
-import org.apache.rocketmq.console.exception.ServiceException;
+import org.apache.rocketmq.dashboard.exception.ServiceException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-@ControllerAdvice(basePackages = "org.apache.rocketmq.console")
+@ControllerAdvice(basePackages = "org.apache.rocketmq.dashboard")
 public class GlobalExceptionHandler {
     private Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
 
diff --git a/src/main/java/org/apache/rocketmq/console/support/GlobalRestfulResponseBodyAdvice.java b/src/main/java/org/apache/rocketmq/dashboard/support/GlobalRestfulResponseBodyAdvice.java
similarity index 91%
rename from src/main/java/org/apache/rocketmq/console/support/GlobalRestfulResponseBodyAdvice.java
rename to src/main/java/org/apache/rocketmq/dashboard/support/GlobalRestfulResponseBodyAdvice.java
index e67fa33..fd27528 100644
--- a/src/main/java/org/apache/rocketmq/console/support/GlobalRestfulResponseBodyAdvice.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/support/GlobalRestfulResponseBodyAdvice.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.support;
+package org.apache.rocketmq.dashboard.support;
 
 import java.lang.annotation.Annotation;
-import org.apache.rocketmq.console.aspect.admin.annotation.OriginalControllerReturnValue;
+import org.apache.rocketmq.dashboard.aspect.admin.annotation.OriginalControllerReturnValue;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.core.MethodParameter;
@@ -29,7 +29,7 @@ import org.springframework.http.server.ServerHttpResponse;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;
 
-@ControllerAdvice(basePackages = "org.apache.rocketmq.console")
+@ControllerAdvice(basePackages = "org.apache.rocketmq.dashboard")
 public class GlobalRestfulResponseBodyAdvice implements ResponseBodyAdvice<Object> {
 
     private Logger logger = LoggerFactory.getLogger(GlobalRestfulResponseBodyAdvice.class);
diff --git a/src/main/java/org/apache/rocketmq/console/support/JsonResult.java b/src/main/java/org/apache/rocketmq/dashboard/support/JsonResult.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/support/JsonResult.java
rename to src/main/java/org/apache/rocketmq/dashboard/support/JsonResult.java
index f5e20dd..d78c6b8 100644
--- a/src/main/java/org/apache/rocketmq/console/support/JsonResult.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/support/JsonResult.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.support;
+package org.apache.rocketmq.dashboard.support;
 
 public class JsonResult<T> {
     private int status = 0;
diff --git a/src/main/java/org/apache/rocketmq/console/task/DashboardCollectTask.java b/src/main/java/org/apache/rocketmq/dashboard/task/DashboardCollectTask.java
similarity index 97%
rename from src/main/java/org/apache/rocketmq/console/task/DashboardCollectTask.java
rename to src/main/java/org/apache/rocketmq/dashboard/task/DashboardCollectTask.java
index 4efc9ed..f3b31cf 100644
--- a/src/main/java/org/apache/rocketmq/console/task/DashboardCollectTask.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/task/DashboardCollectTask.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.task;
+package org.apache.rocketmq.dashboard.task;
 
 import com.google.common.base.Stopwatch;
 import org.apache.rocketmq.common.protocol.body.ClusterInfo;
@@ -24,7 +24,7 @@ import org.apache.rocketmq.common.protocol.body.TopicList;
 import org.apache.rocketmq.common.protocol.route.BrokerData;
 import org.apache.rocketmq.common.protocol.route.TopicRouteData;
 import org.apache.rocketmq.common.topic.TopicValidator;
-import org.apache.rocketmq.console.aspect.admin.annotation.MultiMQAdminCmdMethod;
+import org.apache.rocketmq.dashboard.aspect.admin.annotation.MultiMQAdminCmdMethod;
 import org.apache.rocketmq.store.stats.BrokerStatsManager;
 import org.apache.rocketmq.tools.admin.MQAdminExt;
 import org.apache.rocketmq.tools.command.stats.StatsAllSubCommand;
@@ -47,9 +47,9 @@ import java.util.concurrent.ExecutionException;
 import javax.annotation.Resource;
 import org.apache.rocketmq.common.MixAll;
 import org.apache.rocketmq.common.protocol.body.BrokerStatsData;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.service.DashboardCollectService;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.service.DashboardCollectService;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -233,7 +233,7 @@ public class DashboardCollectTask {
             return;
         }
         //one day refresh cache one time
-        String dataLocationPath = rmqConfigure.getConsoleCollectData();
+        String dataLocationPath = rmqConfigure.getDashboardCollectData();
         DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         String nowDateStr = format.format(new Date());
         String currentDateStr = format.format(currentDate);
diff --git a/src/main/java/org/apache/rocketmq/console/task/MonitorTask.java b/src/main/java/org/apache/rocketmq/dashboard/task/MonitorTask.java
similarity index 83%
rename from src/main/java/org/apache/rocketmq/console/task/MonitorTask.java
rename to src/main/java/org/apache/rocketmq/dashboard/task/MonitorTask.java
index 0db07be..d4f0013 100644
--- a/src/main/java/org/apache/rocketmq/console/task/MonitorTask.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/task/MonitorTask.java
@@ -14,15 +14,15 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.rocketmq.console.task;
+package org.apache.rocketmq.dashboard.task;
 
 import java.util.Map;
 import javax.annotation.Resource;
-import org.apache.rocketmq.console.model.ConsumerMonitorConfig;
-import org.apache.rocketmq.console.model.GroupConsumeInfo;
-import org.apache.rocketmq.console.service.ConsumerService;
-import org.apache.rocketmq.console.service.MonitorService;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.model.ConsumerMonitorConfig;
+import org.apache.rocketmq.dashboard.model.GroupConsumeInfo;
+import org.apache.rocketmq.dashboard.service.ConsumerService;
+import org.apache.rocketmq.dashboard.service.MonitorService;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
diff --git a/src/main/java/org/apache/rocketmq/console/util/JsonUtil.java b/src/main/java/org/apache/rocketmq/dashboard/util/JsonUtil.java
similarity index 99%
rename from src/main/java/org/apache/rocketmq/console/util/JsonUtil.java
rename to src/main/java/org/apache/rocketmq/dashboard/util/JsonUtil.java
index 857a7fa..e4e394b 100644
--- a/src/main/java/org/apache/rocketmq/console/util/JsonUtil.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/util/JsonUtil.java
@@ -15,7 +15,7 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.util;
+package org.apache.rocketmq.dashboard.util;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.core.type.TypeReference;
diff --git a/src/main/java/org/apache/rocketmq/console/util/MsgTraceDecodeUtil.java b/src/main/java/org/apache/rocketmq/dashboard/util/MsgTraceDecodeUtil.java
similarity index 99%
rename from src/main/java/org/apache/rocketmq/console/util/MsgTraceDecodeUtil.java
rename to src/main/java/org/apache/rocketmq/dashboard/util/MsgTraceDecodeUtil.java
index e6105e9..db724b8 100644
--- a/src/main/java/org/apache/rocketmq/console/util/MsgTraceDecodeUtil.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/util/MsgTraceDecodeUtil.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.util;
+package org.apache.rocketmq.dashboard.util;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/org/apache/rocketmq/console/util/WebUtil.java b/src/main/java/org/apache/rocketmq/dashboard/util/WebUtil.java
similarity index 96%
rename from src/main/java/org/apache/rocketmq/console/util/WebUtil.java
rename to src/main/java/org/apache/rocketmq/dashboard/util/WebUtil.java
index 3e1cd3e..c180cf5 100644
--- a/src/main/java/org/apache/rocketmq/console/util/WebUtil.java
+++ b/src/main/java/org/apache/rocketmq/dashboard/util/WebUtil.java
@@ -15,11 +15,11 @@
  *  limitations under the License.
  */
 
-package org.apache.rocketmq.console.util;
+package org.apache.rocketmq.dashboard.util;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.rocketmq.console.model.User;
-import org.apache.rocketmq.console.model.UserInfo;
+import org.apache.rocketmq.dashboard.model.User;
+import org.apache.rocketmq.dashboard.model.UserInfo;
 
 import javax.servlet.ServletRequest;
 import javax.servlet.http.HttpServletRequest;
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 53faec2..02da137 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -8,7 +8,7 @@ server.port=8080
 #server.ssl.keyAlias=rmqcngkey
 
 #spring.application.index=true
-spring.application.name=rocketmq-console
+spring.application.name=rocketmq-dashboard
 spring.http.encoding.charset=UTF-8
 spring.http.encoding.enabled=true
 spring.http.encoding.force=true
diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html
index a92085c..6baab61 100644
--- a/src/main/resources/static/index.html
+++ b/src/main/resources/static/index.html
@@ -18,7 +18,7 @@
 <html lang="en" ng-app="app">
 <head>
     <meta charset="UTF-8">
-    <title>RocketMq-console-ng</title>
+    <title>RocketMQ-Dashboard</title>
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name='description' content=''>
diff --git a/src/main/resources/static/src/i18n/en.js b/src/main/resources/static/src/i18n/en.js
index 14b61b4..ea98267 100644
--- a/src/main/resources/static/src/i18n/en.js
+++ b/src/main/resources/static/src/i18n/en.js
@@ -1,5 +1,5 @@
 var en = {
-    "TITLE": "RocketMQ-Console",
+    "TITLE": "RocketMQ-Dashboard",
     "CLOSE": "Close",
     "NO": "NO.",
     "ADDRESS": "Address",
@@ -84,6 +84,6 @@ var en = {
     "PASSWORD":"Password",
     "NO_DATA":"Don't have ",
     "SYSTEM":"SYSTEM",
-    "WELCOME":"Hi, welcome using RocketMQ Console",
+    "WELCOME":"Hi, welcome using RocketMQ Dashboard",
     "ENABLE_MESSAGE_TRACE":"Enable Message Trace"
 }
\ No newline at end of file
diff --git a/src/main/resources/static/src/i18n/zh.js b/src/main/resources/static/src/i18n/zh.js
index c90f537..8286054 100644
--- a/src/main/resources/static/src/i18n/zh.js
+++ b/src/main/resources/static/src/i18n/zh.js
@@ -1,5 +1,5 @@
 var zh = {
-    "TITLE": "RocketMQ控制台",
+    "TITLE": "RocketMQ仪表板",
     "CLOSE": "关闭",
     "NO": "编号",
     "ADDRESS": "地址",
@@ -85,6 +85,6 @@ var zh = {
     "PASSWORD":"密码",
     "NO_DATA":"不存在 ",
     "SYSTEM":"系统",
-    "WELCOME":"您好,欢迎使用RocketMQ控制台",
+    "WELCOME":"您好,欢迎使用RocketMQ仪表盘",
     "ENABLE_MESSAGE_TRACE":"开启消息轨迹"
 }
\ No newline at end of file
diff --git a/src/main/resources/static/view/pages/un_support_browser.html b/src/main/resources/static/view/pages/un_support_browser.html
index 5550eb5..1d890c8 100644
--- a/src/main/resources/static/view/pages/un_support_browser.html
+++ b/src/main/resources/static/view/pages/un_support_browser.html
@@ -18,7 +18,7 @@
   -->
 <head>
     <meta charset="UTF-8">
-    <title>RocketMq-console-ng</title>
+    <title>RocketMQ-Dashboard</title>
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name='description' content=''>
diff --git a/src/main/resources/users.properties b/src/main/resources/users.properties
index 16690c0..19ce8db 100644
--- a/src/main/resources/users.properties
+++ b/src/main/resources/users.properties
@@ -1,4 +1,4 @@
-# This file supports hot change, any change will be auto-reloaded without Console restarting.
+# This file supports hot change, any change will be auto-reloaded without Dashboard restarting.
 # Format: a user per line, username=password[,N] #N is optional, 0 (Normal User); 1 (Admin)
 
 # Define Admin
diff --git a/src/test/java/org/apache/rocketmq/console/BaseTest.java b/src/test/java/org/apache/rocketmq/dashboard/BaseTest.java
similarity index 98%
rename from src/test/java/org/apache/rocketmq/console/BaseTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/BaseTest.java
index 3686f37..7c7d9e3 100644
--- a/src/test/java/org/apache/rocketmq/console/BaseTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/BaseTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console;
+package org.apache.rocketmq.dashboard;
 
 import java.lang.reflect.Field;
 import java.util.ArrayList;
diff --git a/src/test/java/org/apache/rocketmq/console/admin/MQAdminAspectTest.java b/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminAspectTest.java
similarity index 84%
rename from src/test/java/org/apache/rocketmq/console/admin/MQAdminAspectTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminAspectTest.java
index fe4bad6..9580f60 100644
--- a/src/test/java/org/apache/rocketmq/console/admin/MQAdminAspectTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminAspectTest.java
@@ -1,10 +1,10 @@
-package org.apache.rocketmq.console.admin;
+package org.apache.rocketmq.dashboard.admin;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
-import org.apache.rocketmq.console.aspect.admin.MQAdminAspect;
-import org.apache.rocketmq.console.aspect.admin.annotation.MultiMQAdminCmdMethod;
-import org.apache.rocketmq.console.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.aspect.admin.MQAdminAspect;
+import org.apache.rocketmq.dashboard.aspect.admin.annotation.MultiMQAdminCmdMethod;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.junit.Test;
diff --git a/src/test/java/org/apache/rocketmq/console/admin/MQAdminExtImplTest.java b/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java
similarity index 99%
rename from src/test/java/org/apache/rocketmq/console/admin/MQAdminExtImplTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java
index 705d7ab..6a4c279 100644
--- a/src/test/java/org/apache/rocketmq/console/admin/MQAdminExtImplTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/admin/MQAdminExtImplTest.java
@@ -1,4 +1,4 @@
-package org.apache.rocketmq.console.admin;
+package org.apache.rocketmq.dashboard.admin;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
@@ -38,9 +38,9 @@ import org.apache.rocketmq.common.protocol.body.TopicConfigSerializeWrapper;
 import org.apache.rocketmq.common.protocol.body.TopicList;
 import org.apache.rocketmq.common.protocol.route.TopicRouteData;
 import org.apache.rocketmq.common.subscription.SubscriptionGroupConfig;
-import org.apache.rocketmq.console.service.client.MQAdminExtImpl;
-import org.apache.rocketmq.console.service.client.MQAdminInstance;
-import org.apache.rocketmq.console.util.MockObjectUtil;
+import org.apache.rocketmq.dashboard.service.client.MQAdminExtImpl;
+import org.apache.rocketmq.dashboard.service.client.MQAdminInstance;
+import org.apache.rocketmq.dashboard.util.MockObjectUtil;
 import org.apache.rocketmq.remoting.RemotingClient;
 import org.apache.rocketmq.remoting.protocol.RemotingCommand;
 import org.apache.rocketmq.remoting.protocol.RemotingSerializable;
diff --git a/src/test/java/org/apache/rocketmq/console/config/RMQConfigureTest.java b/src/test/java/org/apache/rocketmq/dashboard/config/RMQConfigureTest.java
similarity index 86%
rename from src/test/java/org/apache/rocketmq/console/config/RMQConfigureTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/config/RMQConfigureTest.java
index 058f540..1035d5a 100644
--- a/src/test/java/org/apache/rocketmq/console/config/RMQConfigureTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/config/RMQConfigureTest.java
@@ -1,4 +1,4 @@
-package org.apache.rocketmq.console.config;
+package org.apache.rocketmq.dashboard.config;
 
 import java.io.File;
 import org.apache.rocketmq.common.topic.TopicValidator;
@@ -32,8 +32,8 @@ public class RMQConfigureTest {
         Assert.assertEquals(rmqConfigure.getSecretKey(), "12345678");
         Assert.assertTrue(rmqConfigure.isACLEnabled());
         Assert.assertTrue(rmqConfigure.isUseTLS());
-        Assert.assertEquals(rmqConfigure.getConsoleCollectData(), "/tmp/rocketmq-console/data/test" + File.separator + "dashboard");
-        Assert.assertEquals(rmqConfigure.getRocketMqConsoleDataPath(), "/tmp/rocketmq-console/data/test");
+        Assert.assertEquals(rmqConfigure.getDashboardCollectData(), "/tmp/rocketmq-console/data/test" + File.separator + "dashboard");
+        Assert.assertEquals(rmqConfigure.getRocketMqDashboardDataPath(), "/tmp/rocketmq-console/data/test");
         Assert.assertEquals(rmqConfigure.getIsVIPChannel(), "true");
         Assert.assertTrue(rmqConfigure.isEnableDashBoardCollect());
         Assert.assertTrue(rmqConfigure.isLoginRequired());
diff --git a/src/test/java/org/apache/rocketmq/console/controller/BaseControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/BaseControllerTest.java
similarity index 90%
rename from src/test/java/org/apache/rocketmq/console/controller/BaseControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/BaseControllerTest.java
index 8c0b4bf..e1fcb13 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/BaseControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/BaseControllerTest.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
-import org.apache.rocketmq.console.BaseTest;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.support.GlobalExceptionHandler;
-import org.apache.rocketmq.console.support.GlobalRestfulResponseBodyAdvice;
-import org.apache.rocketmq.console.util.MyPrintingResultHandler;
+import org.apache.rocketmq.dashboard.BaseTest;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.support.GlobalExceptionHandler;
+import org.apache.rocketmq.dashboard.support.GlobalRestfulResponseBodyAdvice;
+import org.apache.rocketmq.dashboard.util.MyPrintingResultHandler;
 import org.apache.rocketmq.tools.admin.MQAdminExt;
 import org.junit.Before;
 import org.mockito.Mock;
diff --git a/src/test/java/org/apache/rocketmq/console/controller/ClusterControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/ClusterControllerTest.java
similarity index 95%
rename from src/test/java/org/apache/rocketmq/console/controller/ClusterControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/ClusterControllerTest.java
index 5921998..e9b9995 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/ClusterControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/ClusterControllerTest.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import java.util.HashMap;
 import java.util.Properties;
 import org.apache.rocketmq.common.protocol.body.ClusterInfo;
 import org.apache.rocketmq.common.protocol.body.KVTable;
-import org.apache.rocketmq.console.service.impl.ClusterServiceImpl;
-import org.apache.rocketmq.console.util.MockObjectUtil;
+import org.apache.rocketmq.dashboard.service.impl.ClusterServiceImpl;
+import org.apache.rocketmq.dashboard.util.MockObjectUtil;
 import org.junit.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Spy;
diff --git a/src/test/java/org/apache/rocketmq/console/controller/ConsumerControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/ConsumerControllerTest.java
similarity index 96%
rename from src/test/java/org/apache/rocketmq/console/controller/ConsumerControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/ConsumerControllerTest.java
index 73e3080..45b6bf9 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/ConsumerControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/ConsumerControllerTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Lists;
@@ -34,11 +34,11 @@ import org.apache.rocketmq.common.protocol.body.SubscriptionGroupWrapper;
 import org.apache.rocketmq.common.protocol.heartbeat.ConsumeType;
 import org.apache.rocketmq.common.protocol.heartbeat.MessageModel;
 import org.apache.rocketmq.common.subscription.SubscriptionGroupConfig;
-import org.apache.rocketmq.console.model.request.ConsumerConfigInfo;
-import org.apache.rocketmq.console.model.request.DeleteSubGroupRequest;
-import org.apache.rocketmq.console.model.request.ResetOffsetRequest;
-import org.apache.rocketmq.console.service.impl.ConsumerServiceImpl;
-import org.apache.rocketmq.console.util.MockObjectUtil;
+import org.apache.rocketmq.dashboard.model.request.ConsumerConfigInfo;
+import org.apache.rocketmq.dashboard.model.request.DeleteSubGroupRequest;
+import org.apache.rocketmq.dashboard.model.request.ResetOffsetRequest;
+import org.apache.rocketmq.dashboard.service.impl.ConsumerServiceImpl;
+import org.apache.rocketmq.dashboard.util.MockObjectUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.InjectMocks;
diff --git a/src/test/java/org/apache/rocketmq/console/controller/DashboardControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/DashboardControllerTest.java
similarity index 96%
rename from src/test/java/org/apache/rocketmq/console/controller/DashboardControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/DashboardControllerTest.java
index f84fe3e..b756885 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/DashboardControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/DashboardControllerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import com.google.common.collect.Maps;
 import com.google.common.io.Files;
@@ -26,9 +26,9 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import org.apache.rocketmq.console.service.impl.DashboardCollectServiceImpl;
-import org.apache.rocketmq.console.service.impl.DashboardServiceImpl;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.service.impl.DashboardCollectServiceImpl;
+import org.apache.rocketmq.dashboard.service.impl.DashboardServiceImpl;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -70,7 +70,7 @@ public class DashboardControllerTest extends BaseControllerTest {
         // generate today's brokerData and topicData cache file
         brokerDataFile = this.createBrokerTestCollectDataFile(nowDateStr);
         topicDataFile = this.createTopicTestCollectDataFile(nowDateStr);
-        when(configure.getConsoleCollectData()).thenReturn("");
+        when(configure.getDashboardCollectData()).thenReturn("");
     }
 
     @After
diff --git a/src/test/java/org/apache/rocketmq/console/controller/LoginControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/LoginControllerTest.java
similarity index 93%
rename from src/test/java/org/apache/rocketmq/console/controller/LoginControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/LoginControllerTest.java
index ccd6acf..dac3a2d 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/LoginControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/LoginControllerTest.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import java.lang.reflect.Field;
-import org.apache.rocketmq.console.model.User;
-import org.apache.rocketmq.console.service.impl.UserServiceImpl;
-import org.apache.rocketmq.console.util.WebUtil;
+import org.apache.rocketmq.dashboard.model.User;
+import org.apache.rocketmq.dashboard.service.impl.UserServiceImpl;
+import org.apache.rocketmq.dashboard.util.WebUtil;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -47,7 +47,7 @@ public class LoginControllerTest extends BaseControllerTest {
     public void init() {
         super.mockRmqConfigure();
         when(configure.isLoginRequired()).thenReturn(true);
-        when(configure.getRocketMqConsoleDataPath()).thenReturn("");
+        when(configure.getRocketMqDashboardDataPath()).thenReturn("");
         Field contextPathField = ReflectionUtils.findField(LoginController.class, "contextPath");
         ReflectionUtils.makeAccessible(contextPathField);
         ReflectionUtils.setField(contextPathField, loginController, contextPath);
diff --git a/src/test/java/org/apache/rocketmq/console/controller/MessageControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/MessageControllerTest.java
similarity index 97%
rename from src/test/java/org/apache/rocketmq/console/controller/MessageControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/MessageControllerTest.java
index 0b54754..8edc2de 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/MessageControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/MessageControllerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.google.common.cache.Cache;
@@ -35,10 +35,10 @@ import org.apache.rocketmq.common.message.MessageQueue;
 import org.apache.rocketmq.common.protocol.body.CMResult;
 import org.apache.rocketmq.common.protocol.body.ConsumeMessageDirectlyResult;
 import org.apache.rocketmq.common.protocol.body.ConsumerConnection;
-import org.apache.rocketmq.console.model.QueueOffsetInfo;
-import org.apache.rocketmq.console.model.request.MessageQuery;
-import org.apache.rocketmq.console.service.impl.MessageServiceImpl;
-import org.apache.rocketmq.console.util.MockObjectUtil;
+import org.apache.rocketmq.dashboard.model.QueueOffsetInfo;
+import org.apache.rocketmq.dashboard.model.request.MessageQuery;
+import org.apache.rocketmq.dashboard.service.impl.MessageServiceImpl;
+import org.apache.rocketmq.dashboard.util.MockObjectUtil;
 import org.apache.rocketmq.tools.admin.api.MessageTrack;
 import org.apache.rocketmq.tools.admin.api.TrackType;
 import org.junit.Before;
diff --git a/src/test/java/org/apache/rocketmq/console/controller/MessageTraceControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/MessageTraceControllerTest.java
similarity index 95%
rename from src/test/java/org/apache/rocketmq/console/controller/MessageTraceControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/MessageTraceControllerTest.java
index 20c48f7..d39651b 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/MessageTraceControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/MessageTraceControllerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -23,9 +23,9 @@ import org.apache.rocketmq.client.exception.MQClientException;
 import org.apache.rocketmq.client.trace.TraceType;
 import org.apache.rocketmq.common.message.MessageExt;
 import org.apache.rocketmq.common.topic.TopicValidator;
-import org.apache.rocketmq.console.service.impl.MessageServiceImpl;
-import org.apache.rocketmq.console.service.impl.MessageTraceServiceImpl;
-import org.apache.rocketmq.console.util.MockObjectUtil;
+import org.apache.rocketmq.dashboard.service.impl.MessageServiceImpl;
+import org.apache.rocketmq.dashboard.service.impl.MessageTraceServiceImpl;
+import org.apache.rocketmq.dashboard.util.MockObjectUtil;
 import org.apache.rocketmq.tools.admin.api.MessageTrack;
 import org.apache.rocketmq.tools.admin.api.TrackType;
 import org.junit.Before;
diff --git a/src/test/java/org/apache/rocketmq/console/controller/MonitorControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/MonitorControllerTest.java
similarity index 93%
rename from src/test/java/org/apache/rocketmq/console/controller/MonitorControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/MonitorControllerTest.java
index 32bf979..54b6a63 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/MonitorControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/MonitorControllerTest.java
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import com.fasterxml.jackson.core.type.TypeReference;
 import java.io.File;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import org.apache.rocketmq.common.MixAll;
-import org.apache.rocketmq.console.model.ConsumerMonitorConfig;
-import org.apache.rocketmq.console.service.impl.MonitorServiceImpl;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.model.ConsumerMonitorConfig;
+import org.apache.rocketmq.dashboard.service.impl.MonitorServiceImpl;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
@@ -54,12 +54,12 @@ public class MonitorControllerTest extends BaseControllerTest {
     @Before
     public void init() {
         super.mockRmqConfigure();
-        when(configure.getRocketMqConsoleDataPath()).thenReturn("/tmp/rocketmq-console/test/data");
+        when(configure.getRocketMqDashboardDataPath()).thenReturn("/tmp/rocketmq-console/test/data");
         Map<String, ConsumerMonitorConfig> configMap = new ConcurrentHashMap<>();
         configMap.put(consumeGroupName, new ConsumerMonitorConfig(0, 100));
         configMap.put(consumeGroupName1, new ConsumerMonitorConfig(10, 200));
         ReflectionTestUtils.setField(monitorService, "configMap", configMap);
-        filePath = configure.getRocketMqConsoleDataPath()
+        filePath = configure.getRocketMqDashboardDataPath()
             + File.separatorChar + "monitor" + File.separatorChar + "consumerMonitorConfig.json";
     }
 
diff --git a/src/test/java/org/apache/rocketmq/console/controller/NamesvrControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/NamesvrControllerTest.java
similarity index 93%
rename from src/test/java/org/apache/rocketmq/console/controller/NamesvrControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/NamesvrControllerTest.java
index cde2da6..f40c990 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/NamesvrControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/NamesvrControllerTest.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
-import org.apache.rocketmq.console.service.impl.OpsServiceImpl;
+import org.apache.rocketmq.dashboard.service.impl.OpsServiceImpl;
 import org.junit.Assert;
 import org.junit.Test;
 import org.mockito.InjectMocks;
diff --git a/src/test/java/org/apache/rocketmq/console/controller/OpsControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/OpsControllerTest.java
similarity index 92%
rename from src/test/java/org/apache/rocketmq/console/controller/OpsControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/OpsControllerTest.java
index e064b3b..37edbfb 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/OpsControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/OpsControllerTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.apache.rocketmq.console.service.checker.RocketMqChecker;
-import org.apache.rocketmq.console.service.checker.impl.ClusterHealthCheckerImpl;
-import org.apache.rocketmq.console.service.checker.impl.TopicOnlyOneBrokerCheckerImpl;
-import org.apache.rocketmq.console.service.impl.OpsServiceImpl;
+import org.apache.rocketmq.dashboard.service.checker.RocketMqChecker;
+import org.apache.rocketmq.dashboard.service.checker.impl.ClusterHealthCheckerImpl;
+import org.apache.rocketmq.dashboard.service.checker.impl.TopicOnlyOneBrokerCheckerImpl;
+import org.apache.rocketmq.dashboard.service.impl.OpsServiceImpl;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/org/apache/rocketmq/console/controller/ProducerControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/ProducerControllerTest.java
similarity index 90%
rename from src/test/java/org/apache/rocketmq/console/controller/ProducerControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/ProducerControllerTest.java
index 99cb3b5..ef1d39b 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/ProducerControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/ProducerControllerTest.java
@@ -15,19 +15,19 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import java.util.HashSet;
 import org.apache.rocketmq.client.exception.MQClientException;
 import org.apache.rocketmq.common.protocol.body.Connection;
 import org.apache.rocketmq.common.protocol.body.ProducerConnection;
-import org.apache.rocketmq.console.interceptor.AuthInterceptor;
-import org.apache.rocketmq.console.service.impl.LoginServiceImpl;
-import org.apache.rocketmq.console.service.impl.ProducerServiceImpl;
-import org.apache.rocketmq.console.support.GlobalExceptionHandler;
-import org.apache.rocketmq.console.support.GlobalRestfulResponseBodyAdvice;
-import org.apache.rocketmq.console.util.MyPrintingResultHandler;
-import org.apache.rocketmq.console.util.WebUtil;
+import org.apache.rocketmq.dashboard.interceptor.AuthInterceptor;
+import org.apache.rocketmq.dashboard.service.impl.LoginServiceImpl;
+import org.apache.rocketmq.dashboard.service.impl.ProducerServiceImpl;
+import org.apache.rocketmq.dashboard.support.GlobalExceptionHandler;
+import org.apache.rocketmq.dashboard.support.GlobalRestfulResponseBodyAdvice;
+import org.apache.rocketmq.dashboard.util.MyPrintingResultHandler;
+import org.apache.rocketmq.dashboard.util.WebUtil;
 import org.apache.rocketmq.remoting.protocol.LanguageCode;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/org/apache/rocketmq/console/controller/TopicControllerTest.java b/src/test/java/org/apache/rocketmq/dashboard/controller/TopicControllerTest.java
similarity index 97%
rename from src/test/java/org/apache/rocketmq/console/controller/TopicControllerTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/controller/TopicControllerTest.java
index b5d4e47..9c8d844 100644
--- a/src/test/java/org/apache/rocketmq/console/controller/TopicControllerTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/controller/TopicControllerTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.controller;
+package org.apache.rocketmq.dashboard.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Lists;
@@ -39,11 +39,11 @@ import org.apache.rocketmq.common.protocol.body.ConsumerRunningInfo;
 import org.apache.rocketmq.common.protocol.body.GroupList;
 import org.apache.rocketmq.common.protocol.body.TopicList;
 import org.apache.rocketmq.common.protocol.route.TopicRouteData;
-import org.apache.rocketmq.console.model.request.SendTopicMessageRequest;
-import org.apache.rocketmq.console.model.request.TopicConfigInfo;
-import org.apache.rocketmq.console.service.impl.ConsumerServiceImpl;
-import org.apache.rocketmq.console.service.impl.TopicServiceImpl;
-import org.apache.rocketmq.console.util.MockObjectUtil;
+import org.apache.rocketmq.dashboard.model.request.SendTopicMessageRequest;
+import org.apache.rocketmq.dashboard.model.request.TopicConfigInfo;
+import org.apache.rocketmq.dashboard.service.impl.ConsumerServiceImpl;
+import org.apache.rocketmq.dashboard.service.impl.TopicServiceImpl;
+import org.apache.rocketmq.dashboard.util.MockObjectUtil;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.InjectMocks;
diff --git a/src/test/java/org/apache/rocketmq/console/task/DashboardCollectTaskTest.java b/src/test/java/org/apache/rocketmq/dashboard/task/DashboardCollectTaskTest.java
similarity index 93%
rename from src/test/java/org/apache/rocketmq/console/task/DashboardCollectTaskTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/task/DashboardCollectTaskTest.java
index 11be909..926f7e8 100644
--- a/src/test/java/org/apache/rocketmq/console/task/DashboardCollectTaskTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/task/DashboardCollectTaskTest.java
@@ -1,4 +1,4 @@
-package org.apache.rocketmq.console.task;
+package org.apache.rocketmq.dashboard.task;
 
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.google.common.cache.LoadingCache;
@@ -20,11 +20,11 @@ import org.apache.rocketmq.common.protocol.body.GroupList;
 import org.apache.rocketmq.common.protocol.body.KVTable;
 import org.apache.rocketmq.common.protocol.body.TopicList;
 import org.apache.rocketmq.common.protocol.route.TopicRouteData;
-import org.apache.rocketmq.console.BaseTest;
-import org.apache.rocketmq.console.config.RMQConfigure;
-import org.apache.rocketmq.console.service.impl.DashboardCollectServiceImpl;
-import org.apache.rocketmq.console.util.JsonUtil;
-import org.apache.rocketmq.console.util.MockObjectUtil;
+import org.apache.rocketmq.dashboard.BaseTest;
+import org.apache.rocketmq.dashboard.config.RMQConfigure;
+import org.apache.rocketmq.dashboard.service.impl.DashboardCollectServiceImpl;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
+import org.apache.rocketmq.dashboard.util.MockObjectUtil;
 import org.apache.rocketmq.tools.admin.MQAdminExt;
 import org.junit.After;
 import org.junit.Assert;
@@ -60,10 +60,10 @@ public class DashboardCollectTaskTest extends BaseTest {
     @Before
     public void init() throws Exception {
         MockitoAnnotations.initMocks(this);
-        when(rmqConfigure.getConsoleCollectData()).thenReturn("/tmp/rocketmq-console/test/data");
+        when(rmqConfigure.getDashboardCollectData()).thenReturn("/tmp/rocketmq-console/test/data");
         ClusterInfo clusterInfo = MockObjectUtil.createClusterInfo();
         when(mqAdminExt.examineBrokerClusterInfo()).thenReturn(clusterInfo);
-        String dataLocationPath = rmqConfigure.getConsoleCollectData();
+        String dataLocationPath = rmqConfigure.getDashboardCollectData();
         DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
         String nowDateStr = format.format(new Date());
         brokerFile = new File(dataLocationPath + nowDateStr + ".json");
diff --git a/src/test/java/org/apache/rocketmq/console/testbase/RocketMQConsoleTestBase.java b/src/test/java/org/apache/rocketmq/dashboard/testbase/RocketMQConsoleTestBase.java
similarity index 94%
rename from src/test/java/org/apache/rocketmq/console/testbase/RocketMQConsoleTestBase.java
rename to src/test/java/org/apache/rocketmq/dashboard/testbase/RocketMQConsoleTestBase.java
index 8331b48..9814f66 100644
--- a/src/test/java/org/apache/rocketmq/console/testbase/RocketMQConsoleTestBase.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/testbase/RocketMQConsoleTestBase.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.testbase;
+package org.apache.rocketmq.dashboard.testbase;
 
 import com.google.common.base.Throwables;
 import com.google.common.collect.Lists;
@@ -30,11 +30,11 @@ import org.apache.rocketmq.common.consumer.ConsumeFromWhere;
 import org.apache.rocketmq.common.message.Message;
 import org.apache.rocketmq.common.message.MessageExt;
 import org.apache.rocketmq.common.subscription.SubscriptionGroupConfig;
-import org.apache.rocketmq.console.model.request.ConsumerConfigInfo;
-import org.apache.rocketmq.console.model.request.TopicConfigInfo;
-import org.apache.rocketmq.console.service.ConsumerService;
-import org.apache.rocketmq.console.service.TopicService;
-import org.apache.rocketmq.console.util.JsonUtil;
+import org.apache.rocketmq.dashboard.model.request.ConsumerConfigInfo;
+import org.apache.rocketmq.dashboard.model.request.TopicConfigInfo;
+import org.apache.rocketmq.dashboard.service.ConsumerService;
+import org.apache.rocketmq.dashboard.service.TopicService;
+import org.apache.rocketmq.dashboard.util.JsonUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.context.annotation.ComponentScan;
diff --git a/src/test/java/org/apache/rocketmq/console/testbase/TestConstant.java b/src/test/java/org/apache/rocketmq/dashboard/testbase/TestConstant.java
similarity index 97%
rename from src/test/java/org/apache/rocketmq/console/testbase/TestConstant.java
rename to src/test/java/org/apache/rocketmq/dashboard/testbase/TestConstant.java
index 8dcce29..cf47e0f 100644
--- a/src/test/java/org/apache/rocketmq/console/testbase/TestConstant.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/testbase/TestConstant.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.testbase;
+package org.apache.rocketmq.dashboard.testbase;
 
 import static java.io.File.separator;
 
diff --git a/src/test/java/org/apache/rocketmq/console/testbase/TestRocketMQServer.java b/src/test/java/org/apache/rocketmq/dashboard/testbase/TestRocketMQServer.java
similarity index 94%
rename from src/test/java/org/apache/rocketmq/console/testbase/TestRocketMQServer.java
rename to src/test/java/org/apache/rocketmq/dashboard/testbase/TestRocketMQServer.java
index 884cae9..32c95be 100644
--- a/src/test/java/org/apache/rocketmq/console/testbase/TestRocketMQServer.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/testbase/TestRocketMQServer.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.testbase;
+package org.apache.rocketmq.dashboard.testbase;
 
 import java.io.File;
 import java.text.SimpleDateFormat;
@@ -35,9 +35,9 @@ import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import static java.io.File.separator;
-import static org.apache.rocketmq.console.testbase.TestConstant.TEST_BROKER_NAME;
-import static org.apache.rocketmq.console.testbase.TestConstant.TEST_CLUSTER_NAME;
-import static org.apache.rocketmq.console.testbase.TestConstant.TEST_FILE_ROOT_DIR;
+import static org.apache.rocketmq.dashboard.testbase.TestConstant.TEST_BROKER_NAME;
+import static org.apache.rocketmq.dashboard.testbase.TestConstant.TEST_CLUSTER_NAME;
+import static org.apache.rocketmq.dashboard.testbase.TestConstant.TEST_FILE_ROOT_DIR;
 
 @Service
 public class TestRocketMQServer {
diff --git a/src/test/java/org/apache/rocketmq/console/util/MockObjectUtil.java b/src/test/java/org/apache/rocketmq/dashboard/util/MockObjectUtil.java
similarity index 99%
rename from src/test/java/org/apache/rocketmq/console/util/MockObjectUtil.java
rename to src/test/java/org/apache/rocketmq/dashboard/util/MockObjectUtil.java
index 75e3272..83fbffb 100644
--- a/src/test/java/org/apache/rocketmq/console/util/MockObjectUtil.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/util/MockObjectUtil.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.rocketmq.console.util;
+package org.apache.rocketmq.dashboard.util;
 
 import java.net.InetSocketAddress;
 import java.util.ArrayList;
diff --git a/src/test/java/org/apache/rocketmq/console/util/MsgTraceDecodeUtilTest.java b/src/test/java/org/apache/rocketmq/dashboard/util/MsgTraceDecodeUtilTest.java
similarity index 99%
rename from src/test/java/org/apache/rocketmq/console/util/MsgTraceDecodeUtilTest.java
rename to src/test/java/org/apache/rocketmq/dashboard/util/MsgTraceDecodeUtilTest.java
index 468a324..dea26a2 100644
--- a/src/test/java/org/apache/rocketmq/console/util/MsgTraceDecodeUtilTest.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/util/MsgTraceDecodeUtilTest.java
@@ -1,4 +1,4 @@
-package org.apache.rocketmq.console.util;
+package org.apache.rocketmq.dashboard.util;
 
 import java.util.List;
 import org.apache.rocketmq.client.trace.TraceConstants;
diff --git a/src/test/java/org/apache/rocketmq/console/util/MyPrintingResultHandler.java b/src/test/java/org/apache/rocketmq/dashboard/util/MyPrintingResultHandler.java
similarity index 98%
rename from src/test/java/org/apache/rocketmq/console/util/MyPrintingResultHandler.java
rename to src/test/java/org/apache/rocketmq/dashboard/util/MyPrintingResultHandler.java
index e6cb728..4f1d9b2 100644
--- a/src/test/java/org/apache/rocketmq/console/util/MyPrintingResultHandler.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/util/MyPrintingResultHandler.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.util;
+package org.apache.rocketmq.dashboard.util;
 
 import java.lang.reflect.Method;
 import org.apache.commons.lang3.StringUtils;
diff --git a/src/test/java/org/apache/rocketmq/console/web/WebStaticApplicationTests.java b/src/test/java/org/apache/rocketmq/dashboard/web/WebStaticApplicationTests.java
similarity index 98%
rename from src/test/java/org/apache/rocketmq/console/web/WebStaticApplicationTests.java
rename to src/test/java/org/apache/rocketmq/dashboard/web/WebStaticApplicationTests.java
index da7b3f5..fcabdfc 100644
--- a/src/test/java/org/apache/rocketmq/console/web/WebStaticApplicationTests.java
+++ b/src/test/java/org/apache/rocketmq/dashboard/web/WebStaticApplicationTests.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.rocketmq.console.web;
+package org.apache.rocketmq.dashboard.web;
 
 import com.google.common.collect.Maps;
 import java.util.Map;
diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties
index 029d654..cddc3c1 100644
--- a/src/test/resources/application.properties
+++ b/src/test/resources/application.properties
@@ -1,7 +1,7 @@
 server.contextPath=
 server.port=8080
 #spring.application.index=true
-spring.application.name=rocketmq-console
+spring.application.name=rocketmq-dashboard
 spring.http.encoding.charset=UTF-8
 spring.http.encoding.enabled=true
 spring.http.encoding.force=true