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:30 UTC

[rocketmq-dashboard] branch init created (now 119cf0d)

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

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


      at 119cf0d  Use rocketmq-dashboard instead of rocketmq-console

This branch includes the following new commits:

     new 119cf0d  Use rocketmq-dashboard instead of rocketmq-console

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


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

Posted by st...@apache.org.
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