From 48f9e8d965460a4216f28cac41bcae81b0c69f6a Mon Sep 17 00:00:00 2001 From: nzomkxia Date: Mon, 10 Sep 2018 21:35:28 +0800 Subject: [PATCH] change structure --- .gitignore | 10 +- README.md | 40 +- .../pom.xml | 5 - .../dubbo/admin/DubboAdminApplication.java | 0 .../org/apache/dubbo/admin/SpringUtil.java | 0 .../apache/dubbo/admin/config/I18nConfig.java | 0 .../dubbo/admin/config/XmlConfiguration.java | 0 .../admin/controller/RoutesController.java | 0 .../admin/controller/ServiceController.java | 0 .../apache/dubbo/admin/domain/ServiceDO.java | 0 .../dubbo/admin/domain/ServiceDetailDO.java | 0 .../dubbo/admin/filter/LoginFilter.java | 0 .../common/i18n/MessageResourceService.java | 0 .../i18n/impl/MessageResourceServiceImpl.java | 0 .../governance/service/ConfigService.java | 0 .../governance/service/ConsumerService.java | 0 .../governance/service/OverrideService.java | 0 .../governance/service/OwnerService.java | 0 .../governance/service/ProviderService.java | 0 .../governance/service/RouteService.java | 0 .../admin/governance/service/UserService.java | 0 .../service/impl/AbstractService.java | 0 .../service/impl/ConfigServiceImpl.java | 0 .../service/impl/ConsumerServiceImpl.java | 0 .../service/impl/OverrideServiceImpl.java | 0 .../service/impl/OwnerServiceImpl.java | 0 .../service/impl/ProviderServiceImpl.java | 0 .../service/impl/RouteServiceImpl.java | 0 .../service/impl/UserServiceImpl.java | 0 .../governance/sync/RegistryServerSync.java | 0 .../admin/governance/sync/util/Pair.java | 0 .../admin/governance/sync/util/SyncUtils.java | 0 .../governance/util/GovernanceWarmup.java | 0 .../admin/governance/util/Paginator.java | 0 .../dubbo/admin/governance/util/UrlUtils.java | 0 .../admin/governance/util/WebConstants.java | 0 .../admin/registry/common/ChangeListener.java | 0 .../admin/registry/common/StatusManager.java | 0 .../admin/registry/common/domain/Access.java | 0 .../registry/common/domain/Agreement.java | 0 .../registry/common/domain/Approval.java | 0 .../common/domain/ApprovalRequisition.java | 0 .../admin/registry/common/domain/Change.java | 0 .../admin/registry/common/domain/Cluster.java | 0 .../admin/registry/common/domain/Config.java | 0 .../registry/common/domain/Consumer.java | 0 .../registry/common/domain/DependItem.java | 0 .../registry/common/domain/Dependency.java | 0 .../registry/common/domain/Document.java | 0 .../admin/registry/common/domain/Entity.java | 0 .../registry/common/domain/Favorite.java | 0 .../admin/registry/common/domain/Feature.java | 0 .../admin/registry/common/domain/Layer.java | 0 .../registry/common/domain/LoadBalance.java | 0 .../admin/registry/common/domain/Mock.java | 0 .../registry/common/domain/Operation.java | 0 .../registry/common/domain/Override.java | 0 .../admin/registry/common/domain/Owner.java | 0 .../registry/common/domain/PageList.java | 0 .../registry/common/domain/Provider.java | 0 .../registry/common/domain/Registry.java | 0 .../admin/registry/common/domain/Route.java | 0 .../registry/common/domain/SearchHistory.java | 0 .../admin/registry/common/domain/Test.java | 0 .../admin/registry/common/domain/User.java | 0 .../admin/registry/common/domain/Weight.java | 0 .../registry/common/registry/ConvertUtil.java | 0 .../registry/common/route/OverrideUtils.java | 0 .../registry/common/route/ParseUtils.java | 0 .../registry/common/route/RouteRule.java | 0 .../registry/common/route/RouteRuleUtils.java | 0 .../registry/common/route/RouteUtils.java | 0 .../common/status/DatabaseStatusChecker.java | 0 .../common/status/LoadStatusChecker.java | 0 .../common/status/MemoryStatusChecker.java | 0 .../admin/registry/common/util/Coder.java | 0 .../admin/registry/common/util/Entities.java | 0 .../registry/common/util/IntHashMap.java | 0 .../registry/common/util/LocaleUtils.java | 0 .../registry/common/util/MessageSource.java | 0 .../registry/common/util/OverrideUtils.java | 0 .../common/util/StringEscapeUtils.java | 0 .../admin/registry/common/util/Tool.java | 0 .../dubbo/admin/web/mvc/BaseController.java | 0 .../dubbo/admin/web/mvc/RouterController.java | 0 .../admin/web/mvc/common/auth/DubboUser.java | 0 .../admin/web/mvc/common/i18n/LocaleUtil.java | 0 .../mvc/governance/AccessesController.java | 0 .../mvc/governance/AddressesController.java | 0 .../governance/LoadbalancesController.java | 0 .../mvc/governance/OverridesController.java | 0 .../web/mvc/governance/OwnersController.java | 0 .../web/mvc/governance/RoutesController.java | 0 .../governance/ServiceDetailController.java | 0 .../mvc/governance/ServicesController.java | 0 .../web/mvc/governance/WeightsController.java | 0 .../admin/web/mvc/home/IndexController.java | 0 .../admin/web/mvc/sysinfo/DumpController.java | 0 .../web/mvc/sysinfo/DumpsController.java | 0 .../admin/web/mvc/sysinfo/EnvsController.java | 0 .../admin/web/mvc/sysinfo/LogsController.java | 0 .../web/mvc/sysinfo/StatusesController.java | 0 .../web/mvc/sysinfo/VersionsController.java | 0 .../admin/web/pulltool/DateFormatUtil.java | 0 .../admin/web/pulltool/RootContextPath.java | 0 .../apache/dubbo/admin/web/pulltool/Tool.java | 0 .../src/main/resources/application.properties | 0 .../src/main/resources/dubbo-admin.xml | 0 .../src/main/resources/log4j.properties | 0 .../.babelrc | 0 .../.editorconfig | 0 .../.eslintignore | 0 .../.eslintrc.js | 0 .../.gitignore | 0 .../.postcssrc.js | 0 .../README.md | 0 .../build/build.js | 0 .../build/check-versions.js | 0 .../build/logo.png | Bin .../build/utils.js | 2 +- .../build/vue-loader.conf.js | 2 +- .../build/webpack.base.conf.js | 2 +- .../build/webpack.dev.conf.js | 0 .../build/webpack.prod.conf.js | 2 +- .../config/dev.env.js | 0 .../config/index.js | 0 .../config/prod.env.js | 0 .../index.html | 0 .../package.json | 0 .../pom.xml | 0 .../src/.gitrepo | 0 .../src/App.vue | 0 .../src/assets/logo.png | Bin .../src/assets/man_4.jpg | Bin .../src/components/Drawer.vue | 0 .../src/components/Footers.vue | 0 .../src/components/RoutingRule.vue | 0 .../src/components/ServiceDetail.vue | 0 .../src/components/ServiceSearch.vue | 0 .../src/components/Toolbar.vue | 0 .../src/components/http-common.js | 0 .../src/main.js | 0 .../src/router/index.js | 0 .../src/store/index.js | 0 .../src/util/index.js | 0 .../static/.gitkeep | 0 dubbo-admin/README.md | 17 - dubbo-admin/pom.xml | 49 --- dubbo-monitor-simple/pom.xml | 113 ----- .../src/main/assembly/assembly.xml | 40 -- .../dubbo/monitor/simple/MonitorStarter.java | 27 -- .../monitor/simple/SimpleMonitorService.java | 400 ------------------ .../monitor/simple/common/CountUtils.java | 92 ---- .../dubbo/monitor/simple/common/Menu.java | 39 -- .../monitor/simple/common/MenuComparator.java | 45 -- .../dubbo/monitor/simple/common/Page.java | 82 ---- .../simple/container/JettyContainer.java | 89 ---- .../simple/container/RegistryContainer.java | 293 ------------- .../simple/pages/ApplicationsPageHandler.java | 82 ---- .../simple/pages/ChartsPageHandler.java | 95 ----- .../simple/pages/ClientsPageHandler.java | 77 ---- .../simple/pages/ConsumersPageHandler.java | 88 ---- .../simple/pages/DependenciesPageHandler.java | 88 ---- .../monitor/simple/pages/HomePageHandler.java | 48 --- .../simple/pages/HostsPageHandler.java | 75 ---- .../monitor/simple/pages/LogPageHandler.java | 106 ----- .../simple/pages/ProvidersPageHandler.java | 88 ---- .../simple/pages/RegisteredPageHandler.java | 78 ---- .../simple/pages/RegistriesPageHandler.java | 70 --- .../simple/pages/ServersPageHandler.java | 55 --- .../simple/pages/ServicesPageHandler.java | 72 ---- .../simple/pages/StatisticsPageHandler.java | 167 -------- .../simple/pages/StatusPageHandler.java | 84 ---- .../simple/pages/SubscribedPageHandler.java | 78 ---- .../simple/pages/SystemPageHandler.java | 137 ------ .../simple/pages/UnregisterPageHandler.java | 49 --- .../simple/pages/UnsubscribePageHandler.java | 64 --- .../monitor/simple/servlet/PageHandler.java | 37 -- .../monitor/simple/servlet/PageServlet.java | 282 ------------ .../simple/servlet/ResourceFilter.java | 151 ------- .../resources/META-INF/assembly/bin/dump.sh | 92 ---- .../META-INF/assembly/bin/restart.sh | 4 - .../resources/META-INF/assembly/bin/server.sh | 24 -- .../resources/META-INF/assembly/bin/start.bat | 22 - .../resources/META-INF/assembly/bin/start.sh | 106 ----- .../resources/META-INF/assembly/bin/stop.sh | 44 -- .../com.alibaba.dubbo.container.Container | 2 - ...a.dubbo.monitor.simple.servlet.PageHandler | 19 - .../META-INF/spring/dubbo-monitor-simple.xml | 41 -- .../src/main/resources/conf/dubbo.properties | 29 -- .../src/main/resources/log4j.xml | 29 -- .../dubbo/monitor/simple/SimpleMonitor.java | 25 -- .../simple/SimpleMonitorServiceTest.java | 34 -- .../src/test/resources/dubbo.properties | 29 -- .../src/test/resources/log4j.xml | 29 -- dubbo-registry-simple/pom.xml | 84 ---- .../src/main/assembly/assembly.xml | 40 -- .../simple/SimpleRegistryService.java | 209 --------- .../resources/META-INF/assembly/bin/dump.sh | 92 ---- .../META-INF/assembly/bin/restart.sh | 4 - .../resources/META-INF/assembly/bin/server.sh | 24 -- .../resources/META-INF/assembly/bin/start.bat | 22 - .../resources/META-INF/assembly/bin/start.sh | 92 ---- .../resources/META-INF/assembly/bin/stop.sh | 44 -- .../META-INF/spring/dubbo-registry-simple.xml | 45 -- .../src/main/resources/conf/dubbo.properties | 21 - .../dubbo/registry/simple/SimpleRegistry.java | 25 -- .../simple/SimpleRegistryServiceTest.java | 31 -- .../src/test/resources/dubbo.properties | 21 - .../src/test/resources/log4j.xml | 29 -- pom.xml | 264 +++--------- 211 files changed, 80 insertions(+), 4916 deletions(-) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/pom.xml (95%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/DubboAdminApplication.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/SpringUtil.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/config/I18nConfig.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/config/XmlConfiguration.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/domain/ServiceDO.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/domain/ServiceDetailDO.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/MessageResourceService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/ConfigService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/ConsumerService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/OverrideService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/OwnerService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/ProviderService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/RouteService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/UserService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/impl/AbstractService.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConfigServiceImpl.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConsumerServiceImpl.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/impl/RouteServiceImpl.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/service/impl/UserServiceImpl.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/sync/RegistryServerSync.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/sync/util/Pair.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/util/GovernanceWarmup.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/util/Paginator.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/util/UrlUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/governance/util/WebConstants.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/ChangeListener.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/StatusManager.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Access.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Agreement.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Approval.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/ApprovalRequisition.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Change.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Cluster.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Config.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Consumer.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/DependItem.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Dependency.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Document.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Entity.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Favorite.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Feature.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Layer.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/LoadBalance.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Mock.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Operation.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Override.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Owner.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/PageList.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Registry.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Route.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/SearchHistory.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Test.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/User.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/domain/Weight.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/registry/ConvertUtil.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/route/ParseUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRuleUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/status/DatabaseStatusChecker.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/status/LoadStatusChecker.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/status/MemoryStatusChecker.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/util/Coder.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/util/Entities.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/util/IntHashMap.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/util/LocaleUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/util/MessageSource.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/util/StringEscapeUtils.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/registry/common/util/Tool.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/BaseController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/RouterController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/common/auth/DubboUser.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/common/i18n/LocaleUtil.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AccessesController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AddressesController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/LoadbalancesController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OwnersController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/RoutesController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/governance/WeightsController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/home/IndexController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpsController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/EnvsController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/LogsController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/StatusesController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/VersionsController.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/pulltool/DateFormatUtil.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/pulltool/RootContextPath.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/resources/application.properties (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/resources/dubbo-admin.xml (100%) rename {dubbo-admin/dubbo-admin-backend => dubbo-admin-backend}/src/main/resources/log4j.properties (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/.babelrc (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/.editorconfig (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/.eslintignore (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/.eslintrc.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/.gitignore (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/.postcssrc.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/README.md (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/build/build.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/build/check-versions.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/build/logo.png (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/build/utils.js (98%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/build/vue-loader.conf.js (92%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/build/webpack.base.conf.js (98%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/build/webpack.dev.conf.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/build/webpack.prod.conf.js (99%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/config/dev.env.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/config/index.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/config/prod.env.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/index.html (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/package.json (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/pom.xml (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/.gitrepo (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/App.vue (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/assets/logo.png (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/assets/man_4.jpg (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/components/Drawer.vue (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/components/Footers.vue (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/components/RoutingRule.vue (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/components/ServiceDetail.vue (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/components/ServiceSearch.vue (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/components/Toolbar.vue (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/components/http-common.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/main.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/router/index.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/store/index.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/src/util/index.js (100%) rename {dubbo-admin/dubbo-admin-frontend => dubbo-admin-frontend}/static/.gitkeep (100%) delete mode 100644 dubbo-admin/README.md delete mode 100644 dubbo-admin/pom.xml delete mode 100644 dubbo-monitor-simple/pom.xml delete mode 100644 dubbo-monitor-simple/src/main/assembly/assembly.xml delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/MonitorStarter.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorService.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/CountUtils.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/Menu.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/MenuComparator.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/Page.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/container/JettyContainer.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/container/RegistryContainer.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ApplicationsPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ChartsPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ClientsPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ConsumersPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/DependenciesPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/HomePageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/HostsPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/LogPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ProvidersPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/RegisteredPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/RegistriesPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ServersPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ServicesPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/StatisticsPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/StatusPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/SubscribedPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/SystemPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/UnregisterPageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/UnsubscribePageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/PageHandler.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/PageServlet.java delete mode 100644 dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/ResourceFilter.java delete mode 100755 dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/dump.sh delete mode 100644 dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/restart.sh delete mode 100644 dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/server.sh delete mode 100644 dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/start.bat delete mode 100755 dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/start.sh delete mode 100755 dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/stop.sh delete mode 100644 dubbo-monitor-simple/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.container.Container delete mode 100644 dubbo-monitor-simple/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.monitor.simple.servlet.PageHandler delete mode 100644 dubbo-monitor-simple/src/main/resources/META-INF/spring/dubbo-monitor-simple.xml delete mode 100644 dubbo-monitor-simple/src/main/resources/conf/dubbo.properties delete mode 100644 dubbo-monitor-simple/src/main/resources/log4j.xml delete mode 100644 dubbo-monitor-simple/src/test/java/com/alibaba/dubbo/monitor/simple/SimpleMonitor.java delete mode 100644 dubbo-monitor-simple/src/test/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorServiceTest.java delete mode 100644 dubbo-monitor-simple/src/test/resources/dubbo.properties delete mode 100644 dubbo-monitor-simple/src/test/resources/log4j.xml delete mode 100644 dubbo-registry-simple/pom.xml delete mode 100644 dubbo-registry-simple/src/main/assembly/assembly.xml delete mode 100644 dubbo-registry-simple/src/main/java/com/alibaba/dubbo/registry/simple/SimpleRegistryService.java delete mode 100755 dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/dump.sh delete mode 100644 dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/restart.sh delete mode 100644 dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/server.sh delete mode 100644 dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/start.bat delete mode 100755 dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/start.sh delete mode 100755 dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/stop.sh delete mode 100644 dubbo-registry-simple/src/main/resources/META-INF/spring/dubbo-registry-simple.xml delete mode 100644 dubbo-registry-simple/src/main/resources/conf/dubbo.properties delete mode 100644 dubbo-registry-simple/src/test/java/com/alibaba/dubbo/registry/simple/SimpleRegistry.java delete mode 100644 dubbo-registry-simple/src/test/java/com/alibaba/dubbo/registry/simple/SimpleRegistryServiceTest.java delete mode 100644 dubbo-registry-simple/src/test/resources/dubbo.properties delete mode 100644 dubbo-registry-simple/src/test/resources/log4j.xml diff --git a/.gitignore b/.gitignore index 40bf266..e229655 100644 --- a/.gitignore +++ b/.gitignore @@ -29,8 +29,8 @@ target/ .DS_Store Thumbs.db -dubbo-admin/dubbo-admin-backend/src/main/resources/public -dubbo-admin/dubbo-admin-backend/target -dubbo-admin/dubbo-admin-frontend/dist -dubbo-admin/dubbo-admin-frontend/node -dubbo-admin/dubbo-admin-frontend/node-modules +dubbo-admin-backend/src/main/resources/public +dubbo-admin-backend/target +dubbo-admin-frontend/dist +dubbo-admin-frontend/node +dubbo-admin-frontend/node-modules diff --git a/README.md b/README.md index eb41128..653f8d7 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,17 @@ -### dubbo-ops -[![Build Status](https://travis-ci.org/apache/incubator-dubbo-ops.svg?branch=master)](https://travis-ci.org/apache/incubator-dubbo-ops) -[![Gitter](https://badges.gitter.im/alibaba/dubbo.svg)](https://gitter.im/alibaba/dubbo?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +# Dubbo admin -The following modules in [Apache Dubbo(incubating)](https://github.com/apache/incubator-dubbo) have been moved here: +> dubbo admin front end and back end -* dubbo-admin -* dubbo-monitor-simple -* dubbo-registry-simple +## Build setup +``` bash +# build +mvn clean install -### How to use it -You can get a release of dubbo monitor in two steps: - -#### dubbo admin -please refer to the README.md in dubbo admin module - -#### dubbo monitor and dubbo registry -- Step 1: -``` -git clone https://github.com/apache/incubator-dubbo-ops -``` - -- Step 2: -``` -cd incubator-dubbo-ops && mvn package -``` - -Then you will find: - - * dubbo-monitor-simple-2.0.0-assembly.tar.gz in incubator-dubbo-ops\dubbo-monitor-simple\target directory. Unzip it you will find the shell scripts for starting or stopping monitor. - * dubbo-registry-simple-2.0.0-assembly.tar.gz in incubator-dubbo-ops\dubbo-registry-simple\target directory. Unzip it you will find the shell scripts for starting or stopping registry. - +# run +mvn --projects dubbo-admin-backend spring-boot:run +# visit +localhost:8080 +``` \ No newline at end of file diff --git a/dubbo-admin/dubbo-admin-backend/pom.xml b/dubbo-admin-backend/pom.xml similarity index 95% rename from dubbo-admin/dubbo-admin-backend/pom.xml rename to dubbo-admin-backend/pom.xml index 5b12ca6..6681321 100644 --- a/dubbo-admin/dubbo-admin-backend/pom.xml +++ b/dubbo-admin-backend/pom.xml @@ -50,30 +50,25 @@ org.apache.commons commons-lang3 - 3.7 com.alibaba dubbo - 2.6.2 org.apache.curator curator-framework - 2.12.0 com.alibaba fastjson - 1.2.46 org.yaml snakeyaml - 1.22 diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/DubboAdminApplication.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/DubboAdminApplication.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/DubboAdminApplication.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/DubboAdminApplication.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/SpringUtil.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/SpringUtil.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/SpringUtil.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/SpringUtil.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/I18nConfig.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/I18nConfig.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/I18nConfig.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/I18nConfig.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/XmlConfiguration.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/XmlConfiguration.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/XmlConfiguration.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/config/XmlConfiguration.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/RoutesController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/controller/ServiceController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDO.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDO.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDO.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDetailDO.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDetailDO.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDetailDO.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/domain/ServiceDetailDO.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/filter/LoginFilter.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/MessageResourceService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/MessageResourceService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/MessageResourceService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/MessageResourceService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/biz/common/i18n/impl/MessageResourceServiceImpl.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ConfigService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ConfigService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ConfigService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ConfigService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ConsumerService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ConsumerService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ConsumerService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ConsumerService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/OverrideService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/OverrideService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/OverrideService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/OverrideService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/OwnerService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/OwnerService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/OwnerService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/OwnerService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ProviderService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ProviderService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ProviderService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/ProviderService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/RouteService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/RouteService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/RouteService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/RouteService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/UserService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/UserService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/UserService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/UserService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/AbstractService.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/AbstractService.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/AbstractService.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/AbstractService.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConfigServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConfigServiceImpl.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConfigServiceImpl.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConfigServiceImpl.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConsumerServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConsumerServiceImpl.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConsumerServiceImpl.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ConsumerServiceImpl.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OverrideServiceImpl.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/OwnerServiceImpl.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/ProviderServiceImpl.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/RouteServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/RouteServiceImpl.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/RouteServiceImpl.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/RouteServiceImpl.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/UserServiceImpl.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/UserServiceImpl.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/UserServiceImpl.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/service/impl/UserServiceImpl.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/RegistryServerSync.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/RegistryServerSync.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/RegistryServerSync.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/RegistryServerSync.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/Pair.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/Pair.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/Pair.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/Pair.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/sync/util/SyncUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/GovernanceWarmup.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/GovernanceWarmup.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/GovernanceWarmup.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/GovernanceWarmup.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/Paginator.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/Paginator.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/Paginator.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/Paginator.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/UrlUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/UrlUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/UrlUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/UrlUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/WebConstants.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/WebConstants.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/WebConstants.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/governance/util/WebConstants.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/ChangeListener.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/ChangeListener.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/ChangeListener.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/ChangeListener.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/StatusManager.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/StatusManager.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/StatusManager.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/StatusManager.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Access.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Access.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Access.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Access.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Agreement.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Agreement.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Agreement.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Agreement.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Approval.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Approval.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Approval.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Approval.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/ApprovalRequisition.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/ApprovalRequisition.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/ApprovalRequisition.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/ApprovalRequisition.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Change.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Change.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Change.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Change.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Cluster.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Cluster.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Cluster.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Cluster.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Config.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Config.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Config.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Config.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Consumer.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Consumer.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Consumer.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Consumer.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/DependItem.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/DependItem.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/DependItem.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/DependItem.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Dependency.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Dependency.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Dependency.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Dependency.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Document.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Document.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Document.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Document.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Entity.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Entity.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Entity.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Entity.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Favorite.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Favorite.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Favorite.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Favorite.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Feature.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Feature.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Feature.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Feature.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Layer.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Layer.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Layer.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Layer.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/LoadBalance.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/LoadBalance.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/LoadBalance.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/LoadBalance.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Mock.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Mock.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Mock.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Mock.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Operation.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Operation.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Operation.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Operation.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Override.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Override.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Override.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Override.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Owner.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Owner.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Owner.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Owner.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/PageList.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/PageList.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/PageList.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/PageList.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Provider.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Registry.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Registry.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Registry.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Registry.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Route.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Route.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Route.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Route.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/SearchHistory.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/SearchHistory.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/SearchHistory.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/SearchHistory.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Test.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Test.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Test.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Test.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/User.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/User.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/User.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/User.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Weight.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Weight.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Weight.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/domain/Weight.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/registry/ConvertUtil.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/registry/ConvertUtil.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/registry/ConvertUtil.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/registry/ConvertUtil.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/OverrideUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/ParseUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/ParseUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/ParseUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/ParseUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRule.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRuleUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRuleUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRuleUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteRuleUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/route/RouteUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/DatabaseStatusChecker.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/DatabaseStatusChecker.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/DatabaseStatusChecker.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/DatabaseStatusChecker.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/LoadStatusChecker.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/LoadStatusChecker.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/LoadStatusChecker.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/LoadStatusChecker.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/MemoryStatusChecker.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/MemoryStatusChecker.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/MemoryStatusChecker.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/status/MemoryStatusChecker.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Coder.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Coder.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Coder.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Coder.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Entities.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Entities.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Entities.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Entities.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/IntHashMap.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/IntHashMap.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/IntHashMap.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/IntHashMap.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/LocaleUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/LocaleUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/LocaleUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/LocaleUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/MessageSource.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/MessageSource.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/MessageSource.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/MessageSource.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/OverrideUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/StringEscapeUtils.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/StringEscapeUtils.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/StringEscapeUtils.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/StringEscapeUtils.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Tool.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Tool.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Tool.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/registry/common/util/Tool.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/BaseController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/BaseController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/BaseController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/BaseController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/RouterController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/RouterController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/RouterController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/RouterController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/common/auth/DubboUser.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/common/auth/DubboUser.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/common/auth/DubboUser.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/common/auth/DubboUser.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/common/i18n/LocaleUtil.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/common/i18n/LocaleUtil.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/common/i18n/LocaleUtil.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/common/i18n/LocaleUtil.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AccessesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AccessesController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AccessesController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AccessesController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AddressesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AddressesController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AddressesController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/AddressesController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/LoadbalancesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/LoadbalancesController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/LoadbalancesController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/LoadbalancesController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OverridesController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OwnersController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OwnersController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OwnersController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/OwnersController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/RoutesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/RoutesController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/RoutesController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/RoutesController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServiceDetailController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/ServicesController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/WeightsController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/WeightsController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/WeightsController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/governance/WeightsController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/home/IndexController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/home/IndexController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/home/IndexController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/home/IndexController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpsController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpsController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpsController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/DumpsController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/EnvsController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/EnvsController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/EnvsController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/EnvsController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/LogsController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/LogsController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/LogsController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/LogsController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/StatusesController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/StatusesController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/StatusesController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/StatusesController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/VersionsController.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/VersionsController.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/VersionsController.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/mvc/sysinfo/VersionsController.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/DateFormatUtil.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/DateFormatUtil.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/DateFormatUtil.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/DateFormatUtil.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/RootContextPath.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/RootContextPath.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/RootContextPath.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/RootContextPath.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java b/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java rename to dubbo-admin-backend/src/main/java/org/apache/dubbo/admin/web/pulltool/Tool.java diff --git a/dubbo-admin/dubbo-admin-backend/src/main/resources/application.properties b/dubbo-admin-backend/src/main/resources/application.properties similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/resources/application.properties rename to dubbo-admin-backend/src/main/resources/application.properties diff --git a/dubbo-admin/dubbo-admin-backend/src/main/resources/dubbo-admin.xml b/dubbo-admin-backend/src/main/resources/dubbo-admin.xml similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/resources/dubbo-admin.xml rename to dubbo-admin-backend/src/main/resources/dubbo-admin.xml diff --git a/dubbo-admin/dubbo-admin-backend/src/main/resources/log4j.properties b/dubbo-admin-backend/src/main/resources/log4j.properties similarity index 100% rename from dubbo-admin/dubbo-admin-backend/src/main/resources/log4j.properties rename to dubbo-admin-backend/src/main/resources/log4j.properties diff --git a/dubbo-admin/dubbo-admin-frontend/.babelrc b/dubbo-admin-frontend/.babelrc similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/.babelrc rename to dubbo-admin-frontend/.babelrc diff --git a/dubbo-admin/dubbo-admin-frontend/.editorconfig b/dubbo-admin-frontend/.editorconfig similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/.editorconfig rename to dubbo-admin-frontend/.editorconfig diff --git a/dubbo-admin/dubbo-admin-frontend/.eslintignore b/dubbo-admin-frontend/.eslintignore similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/.eslintignore rename to dubbo-admin-frontend/.eslintignore diff --git a/dubbo-admin/dubbo-admin-frontend/.eslintrc.js b/dubbo-admin-frontend/.eslintrc.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/.eslintrc.js rename to dubbo-admin-frontend/.eslintrc.js diff --git a/dubbo-admin/dubbo-admin-frontend/.gitignore b/dubbo-admin-frontend/.gitignore similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/.gitignore rename to dubbo-admin-frontend/.gitignore diff --git a/dubbo-admin/dubbo-admin-frontend/.postcssrc.js b/dubbo-admin-frontend/.postcssrc.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/.postcssrc.js rename to dubbo-admin-frontend/.postcssrc.js diff --git a/dubbo-admin/dubbo-admin-frontend/README.md b/dubbo-admin-frontend/README.md similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/README.md rename to dubbo-admin-frontend/README.md diff --git a/dubbo-admin/dubbo-admin-frontend/build/build.js b/dubbo-admin-frontend/build/build.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/build/build.js rename to dubbo-admin-frontend/build/build.js diff --git a/dubbo-admin/dubbo-admin-frontend/build/check-versions.js b/dubbo-admin-frontend/build/check-versions.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/build/check-versions.js rename to dubbo-admin-frontend/build/check-versions.js diff --git a/dubbo-admin/dubbo-admin-frontend/build/logo.png b/dubbo-admin-frontend/build/logo.png similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/build/logo.png rename to dubbo-admin-frontend/build/logo.png diff --git a/dubbo-admin/dubbo-admin-frontend/build/utils.js b/dubbo-admin-frontend/build/utils.js similarity index 98% rename from dubbo-admin/dubbo-admin-frontend/build/utils.js rename to dubbo-admin-frontend/build/utils.js index e534fb0..5414568 100644 --- a/dubbo-admin/dubbo-admin-frontend/build/utils.js +++ b/dubbo-admin-frontend/build/utils.js @@ -1,6 +1,6 @@ 'use strict' const path = require('path') -const config = require('../config') +const config = require('../config/index') const ExtractTextPlugin = require('extract-text-webpack-plugin') const packageConfig = require('../package.json') diff --git a/dubbo-admin/dubbo-admin-frontend/build/vue-loader.conf.js b/dubbo-admin-frontend/build/vue-loader.conf.js similarity index 92% rename from dubbo-admin/dubbo-admin-frontend/build/vue-loader.conf.js rename to dubbo-admin-frontend/build/vue-loader.conf.js index 33ed58b..6365d98 100644 --- a/dubbo-admin/dubbo-admin-frontend/build/vue-loader.conf.js +++ b/dubbo-admin-frontend/build/vue-loader.conf.js @@ -1,6 +1,6 @@ 'use strict' const utils = require('./utils') -const config = require('../config') +const config = require('../config/index') const isProduction = process.env.NODE_ENV === 'production' const sourceMapEnabled = isProduction ? config.build.productionSourceMap diff --git a/dubbo-admin/dubbo-admin-frontend/build/webpack.base.conf.js b/dubbo-admin-frontend/build/webpack.base.conf.js similarity index 98% rename from dubbo-admin/dubbo-admin-frontend/build/webpack.base.conf.js rename to dubbo-admin-frontend/build/webpack.base.conf.js index 1f4f47e..5bcfcca 100644 --- a/dubbo-admin/dubbo-admin-frontend/build/webpack.base.conf.js +++ b/dubbo-admin-frontend/build/webpack.base.conf.js @@ -1,7 +1,7 @@ 'use strict' const path = require('path') const utils = require('./utils') -const config = require('../config') +const config = require('../config/index') const vueLoaderConfig = require('./vue-loader.conf') function resolve (dir) { diff --git a/dubbo-admin/dubbo-admin-frontend/build/webpack.dev.conf.js b/dubbo-admin-frontend/build/webpack.dev.conf.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/build/webpack.dev.conf.js rename to dubbo-admin-frontend/build/webpack.dev.conf.js diff --git a/dubbo-admin/dubbo-admin-frontend/build/webpack.prod.conf.js b/dubbo-admin-frontend/build/webpack.prod.conf.js similarity index 99% rename from dubbo-admin/dubbo-admin-frontend/build/webpack.prod.conf.js rename to dubbo-admin-frontend/build/webpack.prod.conf.js index d9f99f6..b60b3f6 100644 --- a/dubbo-admin/dubbo-admin-frontend/build/webpack.prod.conf.js +++ b/dubbo-admin-frontend/build/webpack.prod.conf.js @@ -2,7 +2,7 @@ const path = require('path') const utils = require('./utils') const webpack = require('webpack') -const config = require('../config') +const config = require('../config/index') const merge = require('webpack-merge') const baseWebpackConfig = require('./webpack.base.conf') const CopyWebpackPlugin = require('copy-webpack-plugin') diff --git a/dubbo-admin/dubbo-admin-frontend/config/dev.env.js b/dubbo-admin-frontend/config/dev.env.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/config/dev.env.js rename to dubbo-admin-frontend/config/dev.env.js diff --git a/dubbo-admin/dubbo-admin-frontend/config/index.js b/dubbo-admin-frontend/config/index.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/config/index.js rename to dubbo-admin-frontend/config/index.js diff --git a/dubbo-admin/dubbo-admin-frontend/config/prod.env.js b/dubbo-admin-frontend/config/prod.env.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/config/prod.env.js rename to dubbo-admin-frontend/config/prod.env.js diff --git a/dubbo-admin/dubbo-admin-frontend/index.html b/dubbo-admin-frontend/index.html similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/index.html rename to dubbo-admin-frontend/index.html diff --git a/dubbo-admin/dubbo-admin-frontend/package.json b/dubbo-admin-frontend/package.json similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/package.json rename to dubbo-admin-frontend/package.json diff --git a/dubbo-admin/dubbo-admin-frontend/pom.xml b/dubbo-admin-frontend/pom.xml similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/pom.xml rename to dubbo-admin-frontend/pom.xml diff --git a/dubbo-admin/dubbo-admin-frontend/src/.gitrepo b/dubbo-admin-frontend/src/.gitrepo similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/.gitrepo rename to dubbo-admin-frontend/src/.gitrepo diff --git a/dubbo-admin/dubbo-admin-frontend/src/App.vue b/dubbo-admin-frontend/src/App.vue similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/App.vue rename to dubbo-admin-frontend/src/App.vue diff --git a/dubbo-admin/dubbo-admin-frontend/src/assets/logo.png b/dubbo-admin-frontend/src/assets/logo.png similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/assets/logo.png rename to dubbo-admin-frontend/src/assets/logo.png diff --git a/dubbo-admin/dubbo-admin-frontend/src/assets/man_4.jpg b/dubbo-admin-frontend/src/assets/man_4.jpg similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/assets/man_4.jpg rename to dubbo-admin-frontend/src/assets/man_4.jpg diff --git a/dubbo-admin/dubbo-admin-frontend/src/components/Drawer.vue b/dubbo-admin-frontend/src/components/Drawer.vue similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/components/Drawer.vue rename to dubbo-admin-frontend/src/components/Drawer.vue diff --git a/dubbo-admin/dubbo-admin-frontend/src/components/Footers.vue b/dubbo-admin-frontend/src/components/Footers.vue similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/components/Footers.vue rename to dubbo-admin-frontend/src/components/Footers.vue diff --git a/dubbo-admin/dubbo-admin-frontend/src/components/RoutingRule.vue b/dubbo-admin-frontend/src/components/RoutingRule.vue similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/components/RoutingRule.vue rename to dubbo-admin-frontend/src/components/RoutingRule.vue diff --git a/dubbo-admin/dubbo-admin-frontend/src/components/ServiceDetail.vue b/dubbo-admin-frontend/src/components/ServiceDetail.vue similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/components/ServiceDetail.vue rename to dubbo-admin-frontend/src/components/ServiceDetail.vue diff --git a/dubbo-admin/dubbo-admin-frontend/src/components/ServiceSearch.vue b/dubbo-admin-frontend/src/components/ServiceSearch.vue similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/components/ServiceSearch.vue rename to dubbo-admin-frontend/src/components/ServiceSearch.vue diff --git a/dubbo-admin/dubbo-admin-frontend/src/components/Toolbar.vue b/dubbo-admin-frontend/src/components/Toolbar.vue similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/components/Toolbar.vue rename to dubbo-admin-frontend/src/components/Toolbar.vue diff --git a/dubbo-admin/dubbo-admin-frontend/src/components/http-common.js b/dubbo-admin-frontend/src/components/http-common.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/components/http-common.js rename to dubbo-admin-frontend/src/components/http-common.js diff --git a/dubbo-admin/dubbo-admin-frontend/src/main.js b/dubbo-admin-frontend/src/main.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/main.js rename to dubbo-admin-frontend/src/main.js diff --git a/dubbo-admin/dubbo-admin-frontend/src/router/index.js b/dubbo-admin-frontend/src/router/index.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/router/index.js rename to dubbo-admin-frontend/src/router/index.js diff --git a/dubbo-admin/dubbo-admin-frontend/src/store/index.js b/dubbo-admin-frontend/src/store/index.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/store/index.js rename to dubbo-admin-frontend/src/store/index.js diff --git a/dubbo-admin/dubbo-admin-frontend/src/util/index.js b/dubbo-admin-frontend/src/util/index.js similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/src/util/index.js rename to dubbo-admin-frontend/src/util/index.js diff --git a/dubbo-admin/dubbo-admin-frontend/static/.gitkeep b/dubbo-admin-frontend/static/.gitkeep similarity index 100% rename from dubbo-admin/dubbo-admin-frontend/static/.gitkeep rename to dubbo-admin-frontend/static/.gitkeep diff --git a/dubbo-admin/README.md b/dubbo-admin/README.md deleted file mode 100644 index 653f8d7..0000000 --- a/dubbo-admin/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# Dubbo admin - -> dubbo admin front end and back end - -## Build setup - -``` bash -# build -mvn clean install - -# run -mvn --projects dubbo-admin-backend spring-boot:run - -# visit -localhost:8080 - -``` \ No newline at end of file diff --git a/dubbo-admin/pom.xml b/dubbo-admin/pom.xml deleted file mode 100644 index 5038d0c..0000000 --- a/dubbo-admin/pom.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - - 4.0.0 - - org.apache - dubbo-admin - 0.0.1-SNAPSHOT - - dubbo-admin-frontend - dubbo-admin-backend - - pom - - dubbo-admin - Dubbo admin front and back end - - - org.springframework.boot - spring-boot-starter-parent - 2.0.2.RELEASE - - - - - ${project.basedir} - - - - - - diff --git a/dubbo-monitor-simple/pom.xml b/dubbo-monitor-simple/pom.xml deleted file mode 100644 index 3b774b5..0000000 --- a/dubbo-monitor-simple/pom.xml +++ /dev/null @@ -1,113 +0,0 @@ - - - 4.0.0 - - com.alibaba - dubbo-ops - 2.0.0 - - dubbo-monitor-simple - jar - ${project.artifactId} - The reference implementation of dubbo monitor - - false - - - - com.alibaba - dubbo - - - jfree - jfreechart - - - com.alibaba - fastjson - - - org.apache.curator - curator-framework - - - org.mortbay.jetty - jetty - - - log4j - log4j - - - org.slf4j - slf4j-api - - - org.slf4j - slf4j-log4j12 - - - javax.servlet - javax.servlet-api - provided - - - - - - maven-dependency-plugin - - - unpack - package - - unpack - - - - - com.alibaba - dubbo - ${dubbo_all_version} - ${project.build.directory}/dubbo - META-INF/assembly/** - - - - - - - - maven-assembly-plugin - - src/main/assembly/assembly.xml - - - - make-assembly - package - - single - - - - - - - \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/assembly/assembly.xml b/dubbo-monitor-simple/src/main/assembly/assembly.xml deleted file mode 100644 index 39f34dc..0000000 --- a/dubbo-monitor-simple/src/main/assembly/assembly.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - assembly - - tar.gz - - true - - - ${project.build.directory}/classes/META-INF/assembly/bin - assembly.bin - 0755 - - - src/main/resources/conf - conf - 0644 - - - - - lib - - - \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/MonitorStarter.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/MonitorStarter.java deleted file mode 100644 index ae565de..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/MonitorStarter.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple; - -import com.alibaba.dubbo.common.Constants; -import com.alibaba.dubbo.container.Main; - -public class MonitorStarter { - public static void main(String[] args) { - System.setProperty(Constants.DUBBO_PROPERTIES_KEY, "conf/dubbo.properties"); - Main.main(args); - } -} diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorService.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorService.java deleted file mode 100644 index b66f1fa..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorService.java +++ /dev/null @@ -1,400 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple; - -import com.alibaba.dubbo.common.Constants; -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.logger.Logger; -import com.alibaba.dubbo.common.logger.LoggerFactory; -import com.alibaba.dubbo.common.utils.ConfigUtils; -import com.alibaba.dubbo.common.utils.NamedThreadFactory; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.monitor.MonitorService; -import com.alibaba.dubbo.monitor.simple.common.CountUtils; - -import org.jfree.chart.ChartFactory; -import org.jfree.chart.JFreeChart; -import org.jfree.chart.axis.DateAxis; -import org.jfree.chart.plot.XYPlot; -import org.jfree.data.time.Minute; -import org.jfree.data.time.TimeSeries; -import org.jfree.data.time.TimeSeriesCollection; - -import javax.imageio.ImageIO; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.text.DecimalFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.BlockingQueue; -import java.util.concurrent.Executors; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; - -/** - * SimpleMonitorService - */ -public class SimpleMonitorService implements MonitorService { - - private static final Logger logger = LoggerFactory.getLogger(SimpleMonitorService.class); - - private static final String[] types = {SUCCESS, FAILURE, ELAPSED, CONCURRENT, MAX_ELAPSED, MAX_CONCURRENT}; - - private static final String POISON_PROTOCOL = "poison"; - private final ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1, new NamedThreadFactory("DubboMonitorTimer", true)); - private final ScheduledFuture chartFuture; - private final Thread writeThread; - private final BlockingQueue queue; - private String statisticsDirectory = "statistics"; - private String chartsDirectory = "charts"; - private volatile boolean running = true; - - public SimpleMonitorService() { - queue = new LinkedBlockingQueue(Integer.parseInt(ConfigUtils.getProperty("dubbo.monitor.queue", "100000"))); - writeThread = new Thread(new Runnable() { - public void run() { - while (running) { - try { - write(); // write statistics - } catch (Throwable t) { - logger.error("Unexpected error occur at write stat log, cause: " + t.getMessage(), t); - try { - Thread.sleep(5000); // retry after 5 secs - } catch (Throwable t2) { - } - } - } - } - }); - writeThread.setDaemon(true); - writeThread.setName("DubboMonitorAsyncWriteLogThread"); - writeThread.start(); - chartFuture = scheduledExecutorService.scheduleWithFixedDelay(new Runnable() { - public void run() { - try { - draw(); // draw chart - } catch (Throwable t) { - logger.error("Unexpected error occur at draw stat chart, cause: " + t.getMessage(), t); - } - } - }, 1, 300, TimeUnit.SECONDS); - statisticsDirectory = ConfigUtils.getProperty("dubbo.statistics.directory"); - chartsDirectory = ConfigUtils.getProperty("dubbo.charts.directory"); - } - - private static void createChart(String key, String service, String method, String date, String[] types, Map data, double[] summary, String path) { - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmm"); - DecimalFormat numberFormat = new DecimalFormat("###,##0.##"); - TimeSeriesCollection xydataset = new TimeSeriesCollection(); - for (int i = 0; i < types.length; i++) { - String type = types[i]; - TimeSeries timeseries = new TimeSeries(type); - for (Map.Entry entry : data.entrySet()) { - try { - timeseries.add(new Minute(dateFormat.parse(date + entry.getKey())), entry.getValue()[i]); - } catch (ParseException e) { - logger.error(e.getMessage(), e); - } - } - xydataset.addSeries(timeseries); - } - JFreeChart jfreechart = ChartFactory.createTimeSeriesChart( - "max: " + numberFormat.format(summary[0]) + (summary[1] >= 0 ? " min: " + numberFormat.format(summary[1]) : "") - + " avg: " + numberFormat.format(summary[2]) + (summary[3] >= 0 ? " sum: " + numberFormat.format(summary[3]) : ""), - toDisplayService(service) + " " + method + " " + toDisplayDate(date), key, xydataset, true, true, false); - jfreechart.setBackgroundPaint(Color.WHITE); - XYPlot xyplot = (XYPlot) jfreechart.getPlot(); - xyplot.setBackgroundPaint(Color.WHITE); - xyplot.setDomainGridlinePaint(Color.GRAY); - xyplot.setRangeGridlinePaint(Color.GRAY); - xyplot.setDomainGridlinesVisible(true); - xyplot.setRangeGridlinesVisible(true); - DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis(); - dateaxis.setDateFormatOverride(new SimpleDateFormat("HH:mm")); - BufferedImage image = jfreechart.createBufferedImage(600, 300); - try { - if (logger.isInfoEnabled()) { - logger.info("write chart: " + path); - } - File methodChartFile = new File(path); - File methodChartDir = methodChartFile.getParentFile(); - if (methodChartDir != null && !methodChartDir.exists()) { - methodChartDir.mkdirs(); - } - FileOutputStream output = new FileOutputStream(methodChartFile); - try { - ImageIO.write(image, "png", output); - output.flush(); - } finally { - output.close(); - } - } catch (IOException e) { - logger.warn(e.getMessage(), e); - } - } - - private static String toDisplayService(String service) { - int i = service.lastIndexOf('.'); - if (i >= 0) { - return service.substring(i + 1); - } - return service; - } - - private static String toDisplayDate(String date) { - try { - return new SimpleDateFormat("yyyy-MM-dd").format(new SimpleDateFormat("yyyyMMdd").parse(date)); - } catch (ParseException e) { - return date; - } - } - - public void close() { - try { - running = false; - queue.offer(new URL(POISON_PROTOCOL, NetUtils.LOCALHOST, 0)); - } catch (Throwable t) { - logger.warn(t.getMessage(), t); - } - try { - chartFuture.cancel(true); - } catch (Throwable t) { - logger.warn(t.getMessage(), t); - } - } - - private void write() throws Exception { - URL statistics = queue.take(); - if (POISON_PROTOCOL.equals(statistics.getProtocol())) { - return; - } - String timestamp = statistics.getParameter(Constants.TIMESTAMP_KEY); - Date now; - if (timestamp == null || timestamp.length() == 0) { - now = new Date(); - } else if (timestamp.length() == "yyyyMMddHHmmss".length()) { - now = new SimpleDateFormat("yyyyMMddHHmmss").parse(timestamp); - } else { - now = new Date(Long.parseLong(timestamp)); - } - String day = new SimpleDateFormat("yyyyMMdd").format(now); - SimpleDateFormat format = new SimpleDateFormat("HHmm"); - for (String key : types) { - try { - String type; - String consumer; - String provider; - if (statistics.hasParameter(PROVIDER)) { - type = CONSUMER; - consumer = statistics.getHost(); - provider = statistics.getParameter(PROVIDER); - int i = provider.indexOf(':'); - if (i > 0) { - provider = provider.substring(0, i); - } - } else { - type = PROVIDER; - consumer = statistics.getParameter(CONSUMER); - int i = consumer == null ? -1 : consumer.indexOf(':'); - if (i > 0) { - consumer = consumer.substring(0, i); - } - provider = statistics.getHost(); - } - String filename = statisticsDirectory - + "/" + day - + "/" + statistics.getServiceInterface() - + "/" + statistics.getParameter(METHOD) - + "/" + consumer - + "/" + provider - + "/" + type + "." + key; - File file = new File(filename); - File dir = file.getParentFile(); - if (dir != null && !dir.exists()) { - dir.mkdirs(); - } - FileWriter writer = new FileWriter(file, true); - try { - writer.write(format.format(now) + " " + statistics.getParameter(key, 0) + "\n"); - writer.flush(); - } finally { - writer.close(); - } - } catch (Throwable t) { - logger.error(t.getMessage(), t); - } - } - } - - private void draw() { - File rootDir = new File(statisticsDirectory); - if (!rootDir.exists()) { - return; - } - File[] dateDirs = rootDir.listFiles(); - for (File dateDir : dateDirs) { - File[] serviceDirs = dateDir.listFiles(); - for (File serviceDir : serviceDirs) { - File[] methodDirs = serviceDir.listFiles(); - for (File methodDir : methodDirs) { - String methodUri = chartsDirectory + "/" + dateDir.getName() + "/" + serviceDir.getName() + "/" + methodDir.getName(); - - File successFile = new File(methodUri + "/" + SUCCESS + ".png"); - long successModified = successFile.lastModified(); - boolean successChanged = false; - Map successData = new HashMap(); - double[] successSummary = new double[4]; - - File elapsedFile = new File(methodUri + "/" + ELAPSED + ".png"); - long elapsedModified = elapsedFile.lastModified(); - boolean elapsedChanged = false; - Map elapsedData = new HashMap(); - double[] elapsedSummary = new double[4]; - long elapsedMax = 0; - - File[] consumerDirs = methodDir.listFiles(); - for (File consumerDir : consumerDirs) { - File[] providerDirs = consumerDir.listFiles(); - for (File providerDir : providerDirs) { - File consumerSuccessFile = new File(providerDir, CONSUMER + "." + SUCCESS); - File providerSuccessFile = new File(providerDir, PROVIDER + "." + SUCCESS); - appendData(new File[]{consumerSuccessFile, providerSuccessFile}, successData, successSummary); - if (consumerSuccessFile.lastModified() > successModified - || providerSuccessFile.lastModified() > successModified) { - successChanged = true; - } - - File consumerElapsedFile = new File(providerDir, CONSUMER + "." + ELAPSED); - File providerElapsedFile = new File(providerDir, PROVIDER + "." + ELAPSED); - appendData(new File[]{consumerElapsedFile, providerElapsedFile}, elapsedData, elapsedSummary); - elapsedMax = Math.max(elapsedMax, CountUtils.max(new File(providerDir, CONSUMER + "." + MAX_ELAPSED))); - elapsedMax = Math.max(elapsedMax, CountUtils.max(new File(providerDir, PROVIDER + "." + MAX_ELAPSED))); - if (consumerElapsedFile.lastModified() > elapsedModified - || providerElapsedFile.lastModified() > elapsedModified) { - elapsedChanged = true; - } - } - } - if (elapsedChanged) { - divData(elapsedData, successData); - elapsedSummary[0] = elapsedMax; - elapsedSummary[1] = -1; - elapsedSummary[2] = successSummary[3] == 0 ? 0 : elapsedSummary[3] / successSummary[3]; - elapsedSummary[3] = -1; - createChart("ms/t", serviceDir.getName(), methodDir.getName(), dateDir.getName(), new String[]{CONSUMER, PROVIDER}, elapsedData, elapsedSummary, elapsedFile.getAbsolutePath()); - } - if (successChanged) { - divData(successData, 60); - successSummary[0] = successSummary[0] / 60; - successSummary[1] = successSummary[1] / 60; - successSummary[2] = successSummary[2] / 60; - createChart("t/s", serviceDir.getName(), methodDir.getName(), dateDir.getName(), new String[]{CONSUMER, PROVIDER}, successData, successSummary, successFile.getAbsolutePath()); - } - } - } - } - } - - private void divData(Map successMap, long unit) { - for (long[] success : successMap.values()) { - for (int i = 0; i < success.length; i++) { - success[i] = success[i] / unit; - } - } - } - - private void divData(Map elapsedMap, Map successMap) { - for (Map.Entry entry : elapsedMap.entrySet()) { - long[] elapsed = entry.getValue(); - long[] success = successMap.get(entry.getKey()); - for (int i = 0; i < elapsed.length; i++) { - elapsed[i] = success[i] == 0 ? 0 : elapsed[i] / success[i]; - } - } - } - - private void appendData(File[] files, Map data, double[] summary) { - for (int i = 0; i < files.length; i++) { - File file = files[i]; - if (!file.exists()) { - continue; - } - try { - BufferedReader reader = new BufferedReader(new FileReader(file)); - try { - int sum = 0; - int cnt = 0; - String line; - while ((line = reader.readLine()) != null) { - int index = line.indexOf(" "); - if (index > 0) { - String key = line.substring(0, index).trim(); - long value = Long.parseLong(line.substring(index + 1).trim()); - long[] values = data.get(key); - if (values == null) { - values = new long[files.length]; - data.put(key, values); - } - values[i] += value; - summary[0] = Math.max(summary[0], values[i]); - summary[1] = summary[1] == 0 ? values[i] : Math.min(summary[1], values[i]); - sum += value; - cnt++; - } - } - if (i == 0) { - summary[3] += sum; - summary[2] = (summary[2] + (sum / cnt)) / 2; - } - } finally { - reader.close(); - } - } catch (IOException e) { - logger.warn(e.getMessage(), e); - } - } - } - - public void count(URL statistics) { - collect(statistics); - } - - public void collect(URL statistics) { - queue.offer(statistics); - if (logger.isInfoEnabled()) { - logger.info("collect statistics: " + statistics); - } - } - - public List lookup(URL query) { - // TODO Auto-generated method stub - return null; - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/CountUtils.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/CountUtils.java deleted file mode 100644 index bdda59c..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/CountUtils.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.common; - -import com.alibaba.dubbo.common.logger.Logger; -import com.alibaba.dubbo.common.logger.LoggerFactory; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.regex.Pattern; - -/** - * CountUtils - */ -public class CountUtils { - - private static final Logger logger = LoggerFactory.getLogger(CountUtils.class); - - private static final Pattern NUMBER_PATTERN = Pattern.compile("\\d+"); - - private static final int SUM = 0; - - private static final int MAX = 1; - - private static final int AVG = 2; - - public static long sum(File file) { - return calc(file, SUM); - } - - public static long max(File file) { - return calc(file, MAX); - } - - public static long avg(File file) { - return calc(file, AVG); - } - - private static long calc(File file, int op) { - if (file.exists()) { - try { - BufferedReader reader = new BufferedReader(new FileReader(file)); - try { - int times = 0; - int count = 0; - String line; - while ((line = reader.readLine()) != null) { - int i = line.indexOf(" "); - if (i > 0) { - line = line.substring(i + 1).trim(); - if (NUMBER_PATTERN.matcher(line).matches()) { - int value = Integer.parseInt(line); - times++; - if (op == MAX) { - count = Math.max(count, value); - } else { - count += value; - } - } - } - } - if (op == AVG) { - return count / times; - } - return count; - } finally { - reader.close(); - } - } catch (IOException e) { - logger.warn(e.getMessage(), e); - } - } - return 0; - } - -} diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/Menu.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/Menu.java deleted file mode 100644 index ca1cab6..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/Menu.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.common; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Menu - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.TYPE}) -public @interface Menu { - - String name(); - - String desc() default ""; - - int order() default 0; - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/MenuComparator.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/MenuComparator.java deleted file mode 100644 index 7947942..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/MenuComparator.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.common; - -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.io.Serializable; -import java.util.Comparator; - -/** - * MenuComparator - */ -public class MenuComparator implements Comparator, Serializable { - - private static final long serialVersionUID = -3161526932904414029L; - - public int compare(PageHandler o1, PageHandler o2) { - if (o1 == null && o2 == null) { - return 0; - } - if (o1 == null) { - return -1; - } - if (o2 == null) { - return 1; - } - return o1.equals(o2) ? 0 : (o1.getClass().getAnnotation(Menu.class).order() - > o2.getClass().getAnnotation(Menu.class).order() ? 1 : -1); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/Page.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/Page.java deleted file mode 100644 index 44c45bd..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/common/Page.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.common; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * Page - */ -public class Page { - - private final String navigation; - - private final String title; - - private final List columns; - - private final List> rows; - - public Page(String navigation) { - this(navigation, (String) null, (String[]) null, (List>) null); - } - - public Page(String navigation, String title, - String column, String row) { - this(navigation, title, column == null ? null : Arrays.asList(new String[]{column}), row == null ? null : stringToList(row)); - } - - public Page(String navigation, String title, - String[] columns, List> rows) { - this(navigation, title, columns == null ? null : Arrays.asList(columns), rows); - } - - public Page(String navigation, String title, - List columns, List> rows) { - this.navigation = navigation; - this.title = title; - this.columns = columns; - this.rows = rows; - } - - private static List> stringToList(String str) { - List> rows = new ArrayList>(); - List row = new ArrayList(); - row.add(str); - rows.add(row); - return rows; - } - - public String getNavigation() { - return navigation; - } - - public String getTitle() { - return title; - } - - public List getColumns() { - return columns; - } - - public List> getRows() { - return rows; - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/container/JettyContainer.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/container/JettyContainer.java deleted file mode 100644 index 434294e..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/container/JettyContainer.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.container; - -import com.alibaba.dubbo.common.logger.Logger; -import com.alibaba.dubbo.common.logger.LoggerFactory; -import com.alibaba.dubbo.common.utils.ConfigUtils; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.container.Container; -import com.alibaba.dubbo.monitor.simple.servlet.PageServlet; -import com.alibaba.dubbo.monitor.simple.servlet.ResourceFilter; - -import org.mortbay.jetty.Handler; -import org.mortbay.jetty.Server; -import org.mortbay.jetty.nio.SelectChannelConnector; -import org.mortbay.jetty.servlet.FilterHolder; -import org.mortbay.jetty.servlet.ServletHandler; -import org.mortbay.jetty.servlet.ServletHolder; - -/** - * JettyContainer. (SPI, Singleton, ThreadSafe) - */ -public class JettyContainer implements Container { - - public static final String JETTY_PORT = "dubbo.jetty.port"; - public static final String JETTY_DIRECTORY = "dubbo.jetty.directory"; - public static final String JETTY_PAGES = "dubbo.jetty.page"; - public static final int DEFAULT_JETTY_PORT = 8080; - private static final Logger logger = LoggerFactory.getLogger(JettyContainer.class); - SelectChannelConnector connector; - - public void start() { - String serverPort = ConfigUtils.getProperty(JETTY_PORT); - int port; - if (serverPort == null || serverPort.length() == 0) { - port = DEFAULT_JETTY_PORT; - } else { - port = Integer.parseInt(serverPort); - } - connector = new SelectChannelConnector(); - connector.setPort(port); - ServletHandler handler = new ServletHandler(); - - String resources = ConfigUtils.getProperty(JETTY_DIRECTORY); - if (resources != null && resources.length() > 0) { - FilterHolder resourceHolder = handler.addFilterWithMapping(ResourceFilter.class, "/*", Handler.DEFAULT); - resourceHolder.setInitParameter("resources", resources); - } - - ServletHolder pageHolder = handler.addServletWithMapping(PageServlet.class, "/*"); - pageHolder.setInitParameter("pages", ConfigUtils.getProperty(JETTY_PAGES)); - pageHolder.setInitOrder(2); - - Server server = new Server(); - server.addConnector(connector); - server.addHandler(handler); - try { - server.start(); - } catch (Exception e) { - throw new IllegalStateException("Failed to start jetty server on " + NetUtils.getLocalHost() + ":" + port + ", cause: " + e.getMessage(), e); - } - } - - public void stop() { - try { - if (connector != null) { - connector.close(); - connector = null; - } - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/container/RegistryContainer.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/container/RegistryContainer.java deleted file mode 100644 index 95de78e..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/container/RegistryContainer.java +++ /dev/null @@ -1,293 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.container; - -import com.alibaba.dubbo.common.Constants; -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.extension.ExtensionLoader; -import com.alibaba.dubbo.common.utils.ConcurrentHashSet; -import com.alibaba.dubbo.common.utils.ConfigUtils; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.container.Container; -import com.alibaba.dubbo.container.spring.SpringContainer; -import com.alibaba.dubbo.registry.NotifyListener; -import com.alibaba.dubbo.registry.RegistryService; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; - -/** - * RegistryContainer - */ -public class RegistryContainer implements Container { - - public static final String REGISTRY_ADDRESS = "dubbo.registry.address"; - private static RegistryContainer INSTANCE = null; - private final Set applications = new ConcurrentHashSet(); - private final Map> providerServiceApplications = new ConcurrentHashMap>(); - private final Map> providerApplicationServices = new ConcurrentHashMap>(); - private final Map> consumerServiceApplications = new ConcurrentHashMap>(); - private final Map> consumerApplicationServices = new ConcurrentHashMap>(); - private final Set services = new ConcurrentHashSet(); - private final Map> serviceProviders = new ConcurrentHashMap>(); - private final Map> serviceConsumers = new ConcurrentHashMap>(); - private RegistryService registry; - - public RegistryContainer() { - INSTANCE = this; - } - - public static RegistryContainer getInstance() { - if (INSTANCE == null) { - ExtensionLoader.getExtensionLoader(Container.class).getExtension("registry"); - } - return INSTANCE; - } - - public RegistryService getRegistry() { - return registry; - } - - public Set getApplications() { - return Collections.unmodifiableSet(applications); - } - - public Set getDependencies(String application, boolean reverse) { - if (reverse) { - Set dependencies = new HashSet(); - Set services = providerApplicationServices.get(application); - if (services != null && services.size() > 0) { - for (String service : services) { - Set applications = consumerServiceApplications.get(service); - if (applications != null && applications.size() > 0) { - dependencies.addAll(applications); - } - } - } - return dependencies; - } else { - Set dependencies = new HashSet(); - Set services = consumerApplicationServices.get(application); - if (services != null && services.size() > 0) { - for (String service : services) { - Set applications = providerServiceApplications.get(service); - if (applications != null && applications.size() > 0) { - dependencies.addAll(applications); - } - } - } - return dependencies; - } - } - - public Set getServices() { - return Collections.unmodifiableSet(services); - } - - public Map> getServiceProviders() { - return Collections.unmodifiableMap(serviceProviders); - } - - public List getProvidersByService(String service) { - List urls = serviceProviders.get(service); - return urls == null ? null : Collections.unmodifiableList(urls); - } - - public List getProvidersByHost(String host) { - List urls = new ArrayList(); - if (host != null && host.length() > 0) { - for (List providers : serviceProviders.values()) { - for (URL url : providers) { - if (host.equals(url.getHost())) { - urls.add(url); - } - } - } - } - return urls; - } - - public List getProvidersByApplication(String application) { - List urls = new ArrayList(); - if (application != null && application.length() > 0) { - for (List providers : serviceProviders.values()) { - for (URL url : providers) { - if (application.equals(url.getParameter(Constants.APPLICATION_KEY))) { - urls.add(url); - } - } - } - } - return urls; - } - - public Set getHosts() { - Set addresses = new HashSet(); - for (List providers : serviceProviders.values()) { - for (URL url : providers) { - addresses.add(url.getHost()); - } - } - for (List providers : serviceConsumers.values()) { - for (URL url : providers) { - addresses.add(url.getHost()); - } - } - return addresses; - } - - public Map> getServiceConsumers() { - return Collections.unmodifiableMap(serviceConsumers); - } - - public List getConsumersByService(String service) { - List urls = serviceConsumers.get(service); - return urls == null ? null : Collections.unmodifiableList(urls); - } - - public List getConsumersByHost(String host) { - List urls = new ArrayList(); - if (host != null && host.length() > 0) { - for (List consumers : serviceConsumers.values()) { - for (URL url : consumers) { - if (host.equals(url.getHost())) { - urls.add(url); - } - } - } - } - return Collections.unmodifiableList(urls); - } - - public List getConsumersByApplication(String application) { - List urls = new ArrayList(); - if (application != null && application.length() > 0) { - for (List consumers : serviceConsumers.values()) { - for (URL url : consumers) { - if (application.equals(url.getParameter(Constants.APPLICATION_KEY))) { - urls.add(url); - } - } - } - } - return urls; - } - - public void start() { - String url = ConfigUtils.getProperty(REGISTRY_ADDRESS); - if (url == null || url.length() == 0) { - throw new IllegalArgumentException("Please set java start argument: -D" + REGISTRY_ADDRESS + "=zookeeper://127.0.0.1:2181"); - } - registry = (RegistryService) SpringContainer.getContext().getBean("registryService"); - URL subscribeUrl = new URL(Constants.ADMIN_PROTOCOL, NetUtils.getLocalHost(), 0, "", - Constants.INTERFACE_KEY, Constants.ANY_VALUE, - Constants.GROUP_KEY, Constants.ANY_VALUE, - Constants.VERSION_KEY, Constants.ANY_VALUE, - Constants.CLASSIFIER_KEY, Constants.ANY_VALUE, - Constants.CATEGORY_KEY, Constants.PROVIDERS_CATEGORY + "," - + Constants.CONSUMERS_CATEGORY, - Constants.CHECK_KEY, String.valueOf(false)); - registry.subscribe(subscribeUrl, new NotifyListener() { - public void notify(List urls) { - if (urls == null || urls.size() == 0) { - return; - } - Map> proivderMap = new HashMap>(); - Map> consumerMap = new HashMap>(); - for (URL url : urls) { - String application = url.getParameter(Constants.APPLICATION_KEY); - if (application != null && application.length() > 0) { - applications.add(application); - } - String service = url.getServiceInterface(); - services.add(service); - String category = url.getParameter(Constants.CATEGORY_KEY, Constants.DEFAULT_CATEGORY); - if (Constants.PROVIDERS_CATEGORY.equals(category)) { - if (Constants.EMPTY_PROTOCOL.equals(url.getProtocol())) { - serviceProviders.remove(service); - } else { - List list = proivderMap.get(service); - if (list == null) { - list = new ArrayList(); - proivderMap.put(service, list); - } - list.add(url); - if (application != null && application.length() > 0) { - Set serviceApplications = providerServiceApplications.get(service); - if (serviceApplications == null) { - providerServiceApplications.put(service, new ConcurrentHashSet()); - serviceApplications = providerServiceApplications.get(service); - } - serviceApplications.add(application); - - Set applicationServices = providerApplicationServices.get(application); - if (applicationServices == null) { - providerApplicationServices.put(application, new ConcurrentHashSet()); - applicationServices = providerApplicationServices.get(application); - } - applicationServices.add(service); - } - } - } else if (Constants.CONSUMERS_CATEGORY.equals(category)) { - if (Constants.EMPTY_PROTOCOL.equals(url.getProtocol())) { - serviceConsumers.remove(service); - } else { - List list = consumerMap.get(service); - if (list == null) { - list = new ArrayList(); - consumerMap.put(service, list); - } - list.add(url); - if (application != null && application.length() > 0) { - Set serviceApplications = consumerServiceApplications.get(service); - if (serviceApplications == null) { - consumerServiceApplications.put(service, new ConcurrentHashSet()); - serviceApplications = consumerServiceApplications.get(service); - } - serviceApplications.add(application); - - Set applicationServices = consumerApplicationServices.get(application); - if (applicationServices == null) { - consumerApplicationServices.put(application, new ConcurrentHashSet()); - applicationServices = consumerApplicationServices.get(application); - } - applicationServices.add(service); - } - - } - } - } - if (proivderMap != null && proivderMap.size() > 0) { - serviceProviders.putAll(proivderMap); - } - if (consumerMap != null && consumerMap.size() > 0) { - serviceConsumers.putAll(consumerMap); - } - } - }); - } - - public void stop() { - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ApplicationsPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ApplicationsPageHandler.java deleted file mode 100644 index b86bc14..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ApplicationsPageHandler.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.container.RegistryContainer; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -/** - * ApplicationsPageHandler - */ -@Menu(name = "Applications", desc = "Show application dependencies.", order = 1000) -public class ApplicationsPageHandler implements PageHandler { - - public Page handle(URL url) { - Set applications = RegistryContainer.getInstance().getApplications(); - List> rows = new ArrayList>(); - int providersCount = 0; - int consumersCount = 0; - int efferentCount = 0; - int afferentCount = 0; - if (applications != null && applications.size() > 0) { - for (String application : applications) { - List row = new ArrayList(); - row.add(application); - - List providers = RegistryContainer.getInstance().getProvidersByApplication(application); - List consumers = RegistryContainer.getInstance().getConsumersByApplication(application); - - if (providers != null && providers.size() > 0 - || consumers != null && consumers.size() > 0) { - URL provider = (providers != null && providers.size() > 0 ? providers.iterator().next() : consumers.iterator().next()); - row.add(provider.getParameter("owner", "") + (provider.hasParameter("organization") ? " (" + provider.getParameter("organization") + ")" : "")); - } else { - row.add(""); - } - - int providersSize = providers == null ? 0 : providers.size(); - providersCount += providersSize; - row.add(providersSize == 0 ? "No provider" : "Providers(" + providersSize + ")"); - - int consumersSize = consumers == null ? 0 : consumers.size(); - consumersCount += consumersSize; - row.add(consumersSize == 0 ? "No consumer" : "Consumers(" + consumersSize + ")"); - - Set efferents = RegistryContainer.getInstance().getDependencies(application, false); - int efferentSize = efferents == null ? 0 : efferents.size(); - efferentCount += efferentSize; - row.add(efferentSize == 0 ? "No dependency" : "Depends On(" + efferentSize + ")"); - - Set afferents = RegistryContainer.getInstance().getDependencies(application, true); - int afferentSize = afferents == null ? 0 : afferents.size(); - afferentCount += afferentSize; - row.add(afferentSize == 0 ? "No used" : "Used By(" + afferentSize + ")"); - rows.add(row); - } - } - return new Page("Applications", "Applications (" + rows.size() + ")", - new String[]{"Application Name:", "Owner", "Providers(" + providersCount + ")", "Consumers(" + consumersCount + ")", "Depends On(" + efferentCount + ")", "Used By(" + afferentCount + ")"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ChartsPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ChartsPageHandler.java deleted file mode 100644 index 8131eee..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ChartsPageHandler.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.ConfigUtils; -import com.alibaba.dubbo.monitor.MonitorService; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.io.File; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -/** - * ChartsPageHandler - */ -public class ChartsPageHandler implements PageHandler { - - public Page handle(URL url) { - String service = url.getParameter("service"); - if (service == null || service.length() == 0) { - throw new IllegalArgumentException("Please input service parameter."); - } - String date = url.getParameter("date"); - if (date == null || date.length() == 0) { - date = new SimpleDateFormat("yyyyMMdd").format(new Date()); - } - List> rows = new ArrayList>(); - String directory = ConfigUtils.getProperty("dubbo.charts.directory"); - File chartsDir = new File(directory); - String filename = directory + "/" + date + "/" + service; - File serviceDir = new File(filename); - if (serviceDir.exists()) { - File[] methodDirs = serviceDir.listFiles(); - for (File methodDir : methodDirs) { - String methodUri = chartsDir.getName() + "/" + date + "/" + service + "/" + methodDir.getName() + "/"; - rows.add(toRow(methodDir, methodUri)); - } - } - StringBuilder nav = new StringBuilder(); - nav.append("Services > "); - nav.append(service); - nav.append(" > Providers | Consumers | Statistics | Charts > "); - return new Page(nav.toString(), "Charts (" + rows.size() + ")", - new String[]{"Method", "Requests per second (QPS)", "Average response time (ms)"}, rows); - } - - private List toRow(File dir, String uri) { - List row = new ArrayList(); - row.add(dir.getName()); - if (new File(dir, MonitorService.SUCCESS + ".png").exists()) { - String url = uri + MonitorService.SUCCESS + ".png"; - row.add(""); - } else { - row.add(""); - } - if (new File(dir, MonitorService.ELAPSED + ".png").exists()) { - String url = uri + MonitorService.ELAPSED + ".png"; - row.add(""); - } else { - row.add(""); - } - return row; - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ClientsPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ClientsPageHandler.java deleted file mode 100644 index 7c91381..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ClientsPageHandler.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; -import com.alibaba.dubbo.remoting.exchange.ExchangeChannel; -import com.alibaba.dubbo.remoting.exchange.ExchangeServer; -import com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * ClientsPageHandler - */ -public class ClientsPageHandler implements PageHandler { - - public Page handle(URL url) { - String port = url.getParameter("port"); - int p = port == null || port.length() == 0 ? 0 : Integer.parseInt(port); - Collection servers = DubboProtocol.getDubboProtocol().getServers(); - ExchangeServer server = null; - StringBuilder select = new StringBuilder(); - if (servers != null && servers.size() > 0) { - if (servers.size() == 1) { - server = servers.iterator().next(); - String address = server.getUrl().getAddress(); - select.append(" > " + NetUtils.getHostName(address) + "/" + address); - } else { - select.append(" > "); - } - } - List> rows = new ArrayList>(); - if (server != null) { - Collection channels = server.getExchangeChannels(); - for (ExchangeChannel c : channels) { - List row = new ArrayList(); - String address = NetUtils.toAddressString(c.getRemoteAddress()); - row.add(NetUtils.getHostName(address) + "/" + address); - rows.add(row); - } - } - return new Page("Servers" + select.toString() + " > Clients", "Clients (" + rows.size() + ")", new String[]{"Client Address:"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ConsumersPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ConsumersPageHandler.java deleted file mode 100644 index 35ca333..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ConsumersPageHandler.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.container.RegistryContainer; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.util.ArrayList; -import java.util.List; - -/** - * ConsumersPageHandler - */ -public class ConsumersPageHandler implements PageHandler { - - public Page handle(URL url) { - String service = url.getParameter("service"); - String host = url.getParameter("host"); - String application = url.getParameter("application"); - if (service != null && service.length() > 0) { - List> rows = new ArrayList>(); - List consumers = RegistryContainer.getInstance().getConsumersByService(service); - if (consumers != null && consumers.size() > 0) { - for (URL u : consumers) { - List row = new ArrayList(); - String s = u.toFullString(); - row.add(s.replace("&", "&")); - row.add(""); - rows.add(row); - } - } - return new Page("Services > " + service - + " > Providers | Consumers | Statistics | Charts", "Consumers (" + rows.size() + ")", - new String[]{"Consumer URL:", "Unsubscribe"}, rows); - } else if (host != null && host.length() > 0) { - List> rows = new ArrayList>(); - List consumers = RegistryContainer.getInstance().getConsumersByHost(host); - if (consumers != null && consumers.size() > 0) { - for (URL u : consumers) { - List row = new ArrayList(); - String s = u.toFullString(); - row.add(s.replace("&", "&")); - row.add(""); - rows.add(row); - } - } - return new Page("Hosts > " + NetUtils.getHostName(host) + "/" + host + " > Providers | Consumers", "Consumers (" + rows.size() + ")", - new String[]{"Consumer URL:", "Unsubscribe"}, rows); - } else if (application != null && application.length() > 0) { - List> rows = new ArrayList>(); - List consumers = RegistryContainer.getInstance().getConsumersByApplication(application); - if (consumers != null && consumers.size() > 0) { - for (URL u : consumers) { - List row = new ArrayList(); - String s = u.toFullString(); - row.add(s.replace("&", "&")); - row.add(""); - rows.add(row); - } - } - return new Page("Applications > " + application + " > Providers | Consumers | Depends On | Used By", "Consumers (" + rows.size() + ")", - new String[]{"Consumer URL:", "Unsubscribe"}, rows); - } else { - throw new IllegalArgumentException("Please input service or host or application parameter."); - } - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/DependenciesPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/DependenciesPageHandler.java deleted file mode 100644 index f45ac8c..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/DependenciesPageHandler.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.container.RegistryContainer; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -/** - * DependenciesPageHandler - */ -public class DependenciesPageHandler implements PageHandler { - - public Page handle(URL url) { - String application = url.getParameter("application"); - if (application == null || application.length() == 0) { - throw new IllegalArgumentException("Please input application parameter."); - } - boolean reverse = url.getParameter("reverse", false); - List> rows = new ArrayList>(); - Set directly = RegistryContainer.getInstance().getDependencies(application, reverse); - Set indirectly = new HashSet(); - appendDependency(rows, reverse, application, 0, new HashSet(), indirectly); - indirectly.remove(application); - return new Page("Applications > " + application + - " > Providers | Consumers | " + - (reverse ? "Depends On | Used By" - : "Depends On | Used By"), (reverse ? "Used By" : "Depends On") + " (" + directly.size() + "/" + indirectly.size() + ")", new String[]{"Application Name:"}, rows); - } - - private void appendDependency(List> rows, boolean reverse, String application, int level, Set appended, Set indirectly) { - List row = new ArrayList(); - StringBuilder buf = new StringBuilder(); - if (level > 0) { - for (int i = 0; i < level; i++) { - buf.append("        |"); - } - buf.append(reverse ? "<-- " : "--> "); - } - boolean end = false; - if (level > 5) { - buf.append(" More..."); - end = true; - } else { - buf.append(application); - if (appended.contains(application)) { - buf.append(" (Cycle)"); - end = true; - } - } - row.add(buf.toString()); - rows.add(row); - if (end) { - return; - } - - appended.add(application); - indirectly.add(application); - Set dependencies = RegistryContainer.getInstance().getDependencies(application, reverse); - if (dependencies != null && dependencies.size() > 0) { - for (String dependency : dependencies) { - appendDependency(rows, reverse, dependency, level + 1, appended, indirectly); - } - } - appended.remove(application); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/HomePageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/HomePageHandler.java deleted file mode 100644 index cdb17a0..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/HomePageHandler.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.extension.ExtensionLoader; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; -import com.alibaba.dubbo.monitor.simple.servlet.PageServlet; - -import java.util.ArrayList; -import java.util.List; - -/** - * HomePageHandler - */ -@Menu(name = "Home", desc = "Home page.", order = Integer.MIN_VALUE) -public class HomePageHandler implements PageHandler { - - public Page handle(URL url) { - List> rows = new ArrayList>(); - for (PageHandler handler : PageServlet.getInstance().getMenus()) { - String uri = ExtensionLoader.getExtensionLoader(PageHandler.class).getExtensionName(handler); - Menu menu = handler.getClass().getAnnotation(Menu.class); - List row = new ArrayList(); - row.add("" + menu.name() + ""); - row.add(menu.desc()); - rows.add(row); - } - return new Page("Home", "Menus", new String[]{"Menu Name", "Menu Desc"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/HostsPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/HostsPageHandler.java deleted file mode 100644 index 96cbb69..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/HostsPageHandler.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.Constants; -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.container.RegistryContainer; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -/** - * HostsPageHandler - */ -@Menu(name = "Hosts", desc = "Show provider and consumer hosts", order = 3000) -public class HostsPageHandler implements PageHandler { - - public Page handle(URL url) { - List> rows = new ArrayList>(); - Set hosts = RegistryContainer.getInstance().getHosts(); - int providersCount = 0; - int consumersCount = 0; - if (hosts != null && hosts.size() > 0) { - for (String host : hosts) { - List row = new ArrayList(); - row.add(NetUtils.getHostName(host) + "/" + host); - - List providers = RegistryContainer.getInstance().getProvidersByHost(host); - List consumers = RegistryContainer.getInstance().getConsumersByHost(host); - - if (providers != null && providers.size() > 0 - || consumers != null && consumers.size() > 0) { - URL provider = (providers != null && providers.size() > 0 ? providers.iterator().next() : consumers.iterator().next()); - row.add(provider.getParameter(Constants.APPLICATION_KEY, "")); - row.add(provider.getParameter("owner", "") + (provider.hasParameter("organization") ? " (" + provider.getParameter("organization") + ")" : "")); - } else { - row.add(""); - row.add(""); - } - - int proviedSize = providers == null ? 0 : providers.size(); - providersCount += proviedSize; - row.add(proviedSize == 0 ? "No provider" : "Providers(" + proviedSize + ")"); - - int consumersSize = consumers == null ? 0 : consumers.size(); - consumersCount += consumersSize; - row.add(consumersSize == 0 ? "No consumer" : "Consumers(" + consumersSize + ")"); - - rows.add(row); - } - } - return new Page("Hosts", "Hosts (" + rows.size() + ")", - new String[]{"Host Name/IP:", "Application", "Owner", "Providers(" + providersCount + ")", "Consumers(" + consumersCount + ")"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/LogPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/LogPageHandler.java deleted file mode 100644 index bdc04d3..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/LogPageHandler.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import org.apache.log4j.Appender; -import org.apache.log4j.FileAppender; -import org.apache.log4j.Level; -import org.apache.log4j.LogManager; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.channels.FileChannel; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.Enumeration; -import java.util.List; - -/** - * LogPageHandler - */ -@Menu(name = "Log", desc = "Show system log.", order = Integer.MAX_VALUE - 11000) -public class LogPageHandler implements PageHandler { - - private static final int SHOW_LOG_LENGTH = 30000; - - private File file; - - @SuppressWarnings("unchecked") - public LogPageHandler() { - try { - org.apache.log4j.Logger logger = LogManager.getRootLogger(); - if (logger != null) { - Enumeration appenders = logger.getAllAppenders(); - if (appenders != null) { - while (appenders.hasMoreElements()) { - Appender appender = appenders.nextElement(); - if (appender instanceof FileAppender) { - FileAppender fileAppender = (FileAppender) appender; - String filename = fileAppender.getFile(); - file = new File(filename); - break; - } - } - } - } - } catch (Throwable t) { - } - } - - public Page handle(URL url) { - long size = 0; - String content = ""; - String modified = "Not exist"; - if (file != null && file.exists()) { - try { - FileInputStream fis = new FileInputStream(file); - FileChannel channel = fis.getChannel(); - size = channel.size(); - ByteBuffer bb; - if (size <= SHOW_LOG_LENGTH) { - bb = ByteBuffer.allocate((int) size); - channel.read(bb, 0); - } else { - int pos = (int) (size - SHOW_LOG_LENGTH); - bb = ByteBuffer.allocate(SHOW_LOG_LENGTH); - channel.read(bb, pos); - } - bb.flip(); - content = new String(bb.array()).replace("<", "<") - .replace(">", ">").replace("\n", "

"); - modified = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") - .format(new Date(file.lastModified())); - } catch (IOException e) { - } - } - Level level = LogManager.getRootLogger().getLevel(); - List> rows = new ArrayList>(); - List row = new ArrayList(); - row.add(content); - rows.add(row); - return new Page("Log", "Log", new String[]{(file == null ? "" : file.getName()) + ", " + size + " bytes, " + modified + ", " + level}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ProvidersPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ProvidersPageHandler.java deleted file mode 100644 index 159e10e..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ProvidersPageHandler.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.container.RegistryContainer; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.util.ArrayList; -import java.util.List; - -/** - * ProvidersPageHandler - */ -public class ProvidersPageHandler implements PageHandler { - - public Page handle(URL url) { - String service = url.getParameter("service"); - String host = url.getParameter("host"); - String application = url.getParameter("application"); - if (service != null && service.length() > 0) { - List> rows = new ArrayList>(); - List providers = RegistryContainer.getInstance().getProvidersByService(service); - if (providers != null && providers.size() > 0) { - for (URL u : providers) { - List row = new ArrayList(); - String s = u.toFullString(); - row.add(s.replace("&", "&")); - row.add(""); - rows.add(row); - } - } - return new Page("Services > " + service - + " > Providers | Consumers | Statistics | Charts", "Providers (" + rows.size() + ")", - new String[]{"Provider URL:", "Unregister"}, rows); - } else if (host != null && host.length() > 0) { - List> rows = new ArrayList>(); - List providers = RegistryContainer.getInstance().getProvidersByHost(host); - if (providers != null && providers.size() > 0) { - for (URL u : providers) { - List row = new ArrayList(); - String s = u.toFullString(); - row.add(s.replace("&", "&")); - row.add(""); - rows.add(row); - } - } - return new Page("Hosts > " + NetUtils.getHostName(host) + "/" + host + " > Providers | Consumers", "Providers (" + rows.size() + ")", - new String[]{"Provider URL:", "Unregister"}, rows); - } else if (application != null && application.length() > 0) { - List> rows = new ArrayList>(); - List providers = RegistryContainer.getInstance().getProvidersByApplication(application); - if (providers != null && providers.size() > 0) { - for (URL u : providers) { - List row = new ArrayList(); - String s = u.toFullString(); - row.add(s.replace("&", "&")); - row.add(""); - rows.add(row); - } - } - return new Page("Applications > " + application + " > Providers | Consumers | Depends On | Used By", "Providers (" + rows.size() + ")", - new String[]{"Provider URL:", "Unregister"}, rows); - } else { - throw new IllegalArgumentException("Please input service or host or application parameter."); - } - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/RegisteredPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/RegisteredPageHandler.java deleted file mode 100644 index 08d094f..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/RegisteredPageHandler.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; -import com.alibaba.dubbo.registry.Registry; -import com.alibaba.dubbo.registry.support.AbstractRegistry; -import com.alibaba.dubbo.registry.support.AbstractRegistryFactory; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Set; - -/** - * RegisteredPageHandler - */ -public class RegisteredPageHandler implements PageHandler { - - public Page handle(URL url) { - String registryAddress = url.getParameter("registry", ""); - List> rows = new ArrayList>(); - Collection registries = AbstractRegistryFactory.getRegistries(); - StringBuilder select = new StringBuilder(); - Registry registry = null; - if (registries != null && registries.size() > 0) { - if (registries.size() == 1) { - registry = registries.iterator().next(); - select.append(" > " + registry.getUrl().getAddress()); - } else { - select.append(" > "); - } - } - if (registry instanceof AbstractRegistry) { - Set services = ((AbstractRegistry) registry).getRegistered(); - if (services != null && services.size() > 0) { - for (URL u : services) { - List row = new ArrayList(); - row.add(u.toFullString().replace("<", "<").replace(">", ">")); - rows.add(row); - } - } - } - return new Page("Registries" + select.toString() + " > Registered | Subscribed", "Registered (" + rows.size() + ")", - new String[]{"Provider URL:"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/RegistriesPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/RegistriesPageHandler.java deleted file mode 100644 index 30d472a..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/RegistriesPageHandler.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; -import com.alibaba.dubbo.registry.Registry; -import com.alibaba.dubbo.registry.support.AbstractRegistry; -import com.alibaba.dubbo.registry.support.AbstractRegistryFactory; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * RegistriesPageHandler - */ -@Menu(name = "Registries", desc = "Show connected registries.", order = 10000) -public class RegistriesPageHandler implements PageHandler { - - public Page handle(URL url) { - List> rows = new ArrayList>(); - Collection registries = AbstractRegistryFactory.getRegistries(); - int registeredCount = 0; - int subscribedCount = 0; - if (registries != null && registries.size() > 0) { - for (Registry registry : registries) { - String server = registry.getUrl().getAddress(); - List row = new ArrayList(); - row.add(NetUtils.getHostName(server) + "/" + server); - if (registry.isAvailable()) { - row.add("Connected"); - } else { - row.add("Disconnected"); - } - int registeredSize = 0; - int subscribedSize = 0; - if (registry instanceof AbstractRegistry) { - registeredSize = ((AbstractRegistry) registry).getRegistered().size(); - registeredCount += registeredSize; - subscribedSize = ((AbstractRegistry) registry).getSubscribed().size(); - subscribedCount += subscribedSize; - } - row.add("Registered(" + registeredSize + ")"); - row.add("Subscribed(" + subscribedSize + ")"); - rows.add(row); - } - } - return new Page("Registries", "Registries (" + rows.size() + ")", - new String[]{"Registry Address:", "Status", "Registered(" + registeredCount + ")", "Subscribed(" + subscribedCount + ")"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ServersPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ServersPageHandler.java deleted file mode 100644 index 1c2aac9..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ServersPageHandler.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; -import com.alibaba.dubbo.remoting.exchange.ExchangeServer; -import com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * ServersPageHandler - */ -@Menu(name = "Servers", desc = "Show exported service servers.", order = 14000) -public class ServersPageHandler implements PageHandler { - - public Page handle(URL url) { - List> rows = new ArrayList>(); - Collection servers = DubboProtocol.getDubboProtocol().getServers(); - int clientCount = 0; - if (servers != null && servers.size() > 0) { - for (ExchangeServer s : servers) { - List row = new ArrayList(); - String address = s.getUrl().getAddress(); - row.add(NetUtils.getHostName(address) + "/" + address); - int clientSize = s.getExchangeChannels().size(); - clientCount += clientSize; - row.add("Clients(" + clientSize + ")"); - rows.add(row); - } - } - return new Page("Servers", "Servers (" + rows.size() + ")", new String[]{"Server Address:", "Clients(" + clientCount + ")"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ServicesPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ServicesPageHandler.java deleted file mode 100644 index e393cb6..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/ServicesPageHandler.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.Constants; -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.container.RegistryContainer; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -/** - * ServicesPageHandler - */ -@Menu(name = "Services", desc = "Show registered services.", order = 2000) -public class ServicesPageHandler implements PageHandler { - - public Page handle(URL url) { - Set services = RegistryContainer.getInstance().getServices(); - List> rows = new ArrayList>(); - int providerCount = 0; - int consumerCount = 0; - if (services != null && services.size() > 0) { - for (String service : services) { - List providers = RegistryContainer.getInstance().getProvidersByService(service); - int providerSize = providers == null ? 0 : providers.size(); - providerCount += providerSize; - List consumers = RegistryContainer.getInstance().getConsumersByService(service); - int consumerSize = consumers == null ? 0 : consumers.size(); - consumerCount += consumerSize; - List row = new ArrayList(); - row.add(service); - if (providerSize > 0 || consumerSize > 0) { - if (providerSize > 0) { - URL provider = providers.iterator().next(); - row.add(provider.getParameter(Constants.APPLICATION_KEY, "")); - row.add(provider.getParameter("owner", "") + (provider.hasParameter("organization") ? " (" + provider.getParameter("organization") + ")" : "")); - } else { - row.add(""); - row.add(""); - } - row.add(providerSize == 0 ? "No provider" : "Providers(" + providerSize + ")"); - row.add(consumerSize == 0 ? "No consumer" : "Consumers(" + consumerSize + ")"); - row.add("Statistics"); - row.add("Charts"); - rows.add(row); - } - } - } - return new Page("Services", "Services (" + rows.size() + ")", - new String[]{"Service Name:", "Application", "Owner", "Providers(" + providerCount + ")", "Consumers(" + consumerCount + ")", "Statistics", "Charts"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/StatisticsPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/StatisticsPageHandler.java deleted file mode 100644 index ff00b52..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/StatisticsPageHandler.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.ConfigUtils; -import com.alibaba.dubbo.monitor.MonitorService; -import com.alibaba.dubbo.monitor.simple.common.CountUtils; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.io.File; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * StatisticsPageHandler - */ -public class StatisticsPageHandler implements PageHandler { - - public Page handle(URL url) { - String service = url.getParameter("service"); - if (service == null || service.length() == 0) { - throw new IllegalArgumentException("Please input service parameter."); - } - String date = url.getParameter("date"); - if (date == null || date.length() == 0) { - date = new SimpleDateFormat("yyyyMMdd").format(new Date()); - } - String expand = url.getParameter("expand"); - List> rows = new ArrayList>(); - String directory = ConfigUtils.getProperty("dubbo.statistics.directory"); - String filename = directory + "/" + date + "/" + service; - File serviceDir = new File(filename); - if (serviceDir.exists()) { - File[] methodDirs = serviceDir.listFiles(); - for (File methodDir : methodDirs) { - long[] statistics = newStatistics(); - Map expandMap = new HashMap(); - File[] consumerDirs = methodDir.listFiles(); - for (File consumerDir : consumerDirs) { - long[] expandStatistics = null; - if (MonitorService.CONSUMER.equals(expand)) { - expandStatistics = newStatistics(); - expandMap.put(consumerDir.getName(), expandStatistics); - } - File[] providerDirs = consumerDir.listFiles(); - for (File providerDir : providerDirs) { - if (MonitorService.PROVIDER.equals(expand)) { - expandStatistics = newStatistics(); - expandMap.put(providerDir.getName(), expandStatistics); - } - appendStatistics(providerDir, statistics); - if (expandStatistics != null) { - appendStatistics(providerDir, expandStatistics); - } - } - } - rows.add(toRow(methodDir.getName(), statistics)); - if (expandMap != null && expandMap.size() > 0) { - for (Map.Entry entry : expandMap.entrySet()) { - String node = MonitorService.CONSUMER.equals(expand) ? "<--" : "-->"; - rows.add(toRow("      |" + node + " " + entry.getKey(), entry.getValue())); - } - } - } - } - StringBuilder nav = new StringBuilder(); - nav.append("Services > "); - nav.append(service); - nav.append(" > Providers | Consumers | Statistics | Charts > > "); - if (!MonitorService.PROVIDER.equals(expand) && !MonitorService.CONSUMER.equals(expand)) { - nav.append("Summary"); - } else { - nav.append("Summary"); - } - if (MonitorService.PROVIDER.equals(expand)) { - nav.append(" | +Provider"); - } else { - nav.append(" | +Provider"); - } - if (MonitorService.CONSUMER.equals(expand)) { - nav.append(" | +Consumer"); - } else { - nav.append(" | +Consumer"); - } - return new Page(nav.toString(), "Statistics (" + rows.size() + ")", - new String[]{"Method:", "Success", "Failure", "Avg Elapsed (ms)", - "Max Elapsed (ms)", "Max Concurrent"}, rows); - } - - private long[] newStatistics() { - return new long[10]; - } - - private void appendStatistics(File providerDir, long[] statistics) { - statistics[0] += CountUtils.sum(new File(providerDir, MonitorService.CONSUMER + "." + MonitorService.SUCCESS)); - statistics[1] += CountUtils.sum(new File(providerDir, MonitorService.PROVIDER + "." + MonitorService.SUCCESS)); - statistics[2] += CountUtils.sum(new File(providerDir, MonitorService.CONSUMER + "." + MonitorService.FAILURE)); - statistics[3] += CountUtils.sum(new File(providerDir, MonitorService.PROVIDER + "." + MonitorService.FAILURE)); - statistics[4] += CountUtils.sum(new File(providerDir, MonitorService.CONSUMER + "." + MonitorService.ELAPSED)); - statistics[5] += CountUtils.sum(new File(providerDir, MonitorService.PROVIDER + "." + MonitorService.ELAPSED)); - statistics[6] = Math.max(statistics[6], CountUtils.max(new File(providerDir, MonitorService.CONSUMER + "." + MonitorService.MAX_ELAPSED))); - statistics[7] = Math.max(statistics[7], CountUtils.max(new File(providerDir, MonitorService.PROVIDER + "." + MonitorService.MAX_ELAPSED))); - statistics[8] = Math.max(statistics[8], CountUtils.max(new File(providerDir, MonitorService.CONSUMER + "." + MonitorService.MAX_CONCURRENT))); - statistics[9] = Math.max(statistics[9], CountUtils.max(new File(providerDir, MonitorService.PROVIDER + "." + MonitorService.MAX_CONCURRENT))); - } - - private List toRow(String name, long[] statistics) { - List row = new ArrayList(); - row.add(name); - row.add(String.valueOf(statistics[0]) + " --> " + String.valueOf(statistics[1])); - row.add(String.valueOf(statistics[2]) + " --> " + String.valueOf(statistics[3])); - row.add(String.valueOf(statistics[0] == 0 ? 0 : statistics[4] / statistics[0]) - + " --> " + String.valueOf(statistics[1] == 0 ? 0 : statistics[5] / statistics[1])); - row.add(String.valueOf(statistics[6]) + " --> " + String.valueOf(statistics[7])); - row.add(String.valueOf(statistics[8]) + " --> " + String.valueOf(statistics[9])); - return row; - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/StatusPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/StatusPageHandler.java deleted file mode 100644 index 5189bac..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/StatusPageHandler.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.extension.ExtensionLoader; -import com.alibaba.dubbo.common.status.Status; -import com.alibaba.dubbo.common.status.StatusChecker; -import com.alibaba.dubbo.common.status.support.StatusUtils; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - -/** - * StatusPageHandler - */ -@Menu(name = "Status", desc = "Show system status.", order = Integer.MAX_VALUE - 12000) -public class StatusPageHandler implements PageHandler { - - public Page handle(URL url) { - List> rows = new ArrayList>(); - Set names = ExtensionLoader.getExtensionLoader(StatusChecker.class).getSupportedExtensions(); - Map statuses = new HashMap(); - for (String name : names) { - StatusChecker checker = ExtensionLoader.getExtensionLoader(StatusChecker.class).getExtension(name); - List row = new ArrayList(); - row.add(name); - Status status = checker.check(); - if (status != null && !Status.Level.UNKNOWN.equals(status.getLevel())) { - statuses.put(name, status); - row.add(getLevelHtml(status.getLevel())); - row.add(status.getMessage()); - rows.add(row); - } - } - Status status = StatusUtils.getSummaryStatus(statuses); - if ("status".equals(url.getPath())) { - return new Page("", "", "", status.getLevel().toString()); - } else { - List row = new ArrayList(); - row.add("summary"); - row.add(getLevelHtml(status.getLevel())); - row.add("summary"); - rows.add(row); - return new Page("Status (summary)", "Status", new String[]{"Name", "Status", "Description"}, rows); - } - } - - private String getLevelHtml(Status.Level level) { - return "" + level.name() + ""; - } - - private String getLevelColor(Status.Level level) { - if (level == Status.Level.OK) { - return "green"; - } else if (level == Status.Level.ERROR) { - return "red"; - } else if (level == Status.Level.WARN) { - return "yellow"; - } - return "gray"; - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/SubscribedPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/SubscribedPageHandler.java deleted file mode 100644 index 0863ede..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/SubscribedPageHandler.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; -import com.alibaba.dubbo.registry.Registry; -import com.alibaba.dubbo.registry.support.AbstractRegistry; -import com.alibaba.dubbo.registry.support.AbstractRegistryFactory; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Set; - -/** - * SubscribedPageHandler - */ -public class SubscribedPageHandler implements PageHandler { - - public Page handle(URL url) { - String registryAddress = url.getParameter("registry", ""); - List> rows = new ArrayList>(); - Collection registries = AbstractRegistryFactory.getRegistries(); - StringBuilder select = new StringBuilder(); - Registry registry = null; - if (registries != null && registries.size() > 0) { - if (registries.size() == 1) { - registry = registries.iterator().next(); - select.append(" > " + registry.getUrl().getAddress()); - } else { - select.append(" > "); - } - } - if (registry instanceof AbstractRegistry) { - Set services = ((AbstractRegistry) registry).getSubscribed().keySet(); - if (services != null && services.size() > 0) { - for (URL u : services) { - List row = new ArrayList(); - row.add(u.toFullString().replace("<", "<").replace(">", ">")); - rows.add(row); - } - } - } - return new Page("Registries" + select.toString() + " > Registered | Subscribed", "Subscribed (" + rows.size() + ")", - new String[]{"Consumer URL:"}, rows); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/SystemPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/SystemPageHandler.java deleted file mode 100644 index 4043c3b..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/SystemPageHandler.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.Version; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -import java.lang.management.ManagementFactory; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Locale; - -/** - * SystemPageHandler - */ -@Menu(name = "System", desc = "Show system environment information.", order = Integer.MAX_VALUE - 10000) -public class SystemPageHandler implements PageHandler { - - private static final long SECOND = 1000; - private static final long MINUTE = 60 * SECOND; - private static final long HOUR = 60 * MINUTE; - private static final long DAY = 24 * HOUR; - - public Page handle(URL url) { - List> rows = new ArrayList>(); - List row; - - row = new ArrayList(); - row.add("Version"); - row.add(Version.getVersion(SystemPageHandler.class, "2.0.0")); - rows.add(row); - - row = new ArrayList(); - row.add("Host"); - String address = NetUtils.getLocalHost(); - row.add(NetUtils.getHostName(address) + "/" + address); - rows.add(row); - - row = new ArrayList(); - row.add("OS"); - row.add(System.getProperty("os.name") + " " + System.getProperty("os.version")); - rows.add(row); - - row = new ArrayList(); - row.add("JVM"); - row.add(System.getProperty("java.runtime.name") + " " + System.getProperty("java.runtime.version") + ",
" + System.getProperty("java.vm.name") + " " + System.getProperty("java.vm.version") + " " + System.getProperty("java.vm.info", "")); - rows.add(row); - - row = new ArrayList(); - row.add("CPU"); - row.add(System.getProperty("os.arch", "") + ", " + String.valueOf(Runtime.getRuntime().availableProcessors()) + " cores"); - rows.add(row); - - row = new ArrayList(); - row.add("Locale"); - row.add(Locale.getDefault().toString() + "/" + System.getProperty("file.encoding")); - rows.add(row); - - row = new ArrayList(); - row.add("Uptime"); - row.add(formatUptime(ManagementFactory.getRuntimeMXBean().getUptime())); - rows.add(row); - - row = new ArrayList(); - row.add("Time"); - row.add(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS Z").format(new Date())); - rows.add(row); - - return new Page("System", "System", new String[]{ - "Property", "Value"}, rows); - } - - private String formatUptime(long uptime) { - StringBuilder buf = new StringBuilder(); - if (uptime > DAY) { - long days = (uptime - uptime % DAY) / DAY; - buf.append(days); - buf.append(" Days"); - uptime = uptime % DAY; - } - if (uptime > HOUR) { - long hours = (uptime - uptime % HOUR) / HOUR; - if (buf.length() > 0) { - buf.append(", "); - } - buf.append(hours); - buf.append(" Hours"); - uptime = uptime % HOUR; - } - if (uptime > MINUTE) { - long minutes = (uptime - uptime % MINUTE) / MINUTE; - if (buf.length() > 0) { - buf.append(", "); - } - buf.append(minutes); - buf.append(" Minutes"); - uptime = uptime % MINUTE; - } - if (uptime > SECOND) { - long seconds = (uptime - uptime % SECOND) / SECOND; - if (buf.length() > 0) { - buf.append(", "); - } - buf.append(seconds); - buf.append(" Seconds"); - uptime = uptime % SECOND; - } - if (uptime > 0) { - if (buf.length() > 0) { - buf.append(", "); - } - buf.append(uptime); - buf.append(" Milliseconds"); - } - return buf.toString(); - } -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/UnregisterPageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/UnregisterPageHandler.java deleted file mode 100644 index d8b7c97..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/UnregisterPageHandler.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.container.RegistryContainer; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; - -/** - * UnregisterPageHandler - */ -public class UnregisterPageHandler implements PageHandler { - - public Page handle(URL url) { - String provider = url.getParameterAndDecoded("provider"); - if (provider == null || provider.length() == 0) { - throw new IllegalArgumentException("Please input provider parameter."); - } - URL providerUrl = URL.valueOf(provider); - RegistryContainer.getInstance().getRegistry().unregister(providerUrl); - String parameter; - if (url.hasParameter("service")) { - parameter = "service=" + url.getParameter("service"); - } else if (url.hasParameter("host")) { - parameter = "host=" + url.getParameter("host"); - } else if (url.hasParameter("application")) { - parameter = "application=" + url.getParameter("application"); - } else { - parameter = "service=" + providerUrl.getServiceInterface(); - } - return new Page(""); - } - -} diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/UnsubscribePageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/UnsubscribePageHandler.java deleted file mode 100644 index 655ba6c..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/pages/UnsubscribePageHandler.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.pages; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.monitor.simple.common.Page; -import com.alibaba.dubbo.monitor.simple.container.RegistryContainer; -import com.alibaba.dubbo.monitor.simple.servlet.PageHandler; -import com.alibaba.dubbo.registry.NotifyListener; - -import java.util.List; - -/** - * UnsubscribePageHandler - */ -public class UnsubscribePageHandler implements PageHandler { - - public Page handle(URL url) { - String consumer = url.getParameterAndDecoded("consumer"); - if (consumer == null || consumer.length() == 0) { - throw new IllegalArgumentException("Please input consumer parameter."); - } - URL consumerUrl = URL.valueOf(consumer); - RegistryContainer.getInstance().getRegistry().unsubscribe(consumerUrl, NotifyListenerAdapter.NOTIFY_LISTENER); - String parameter; - if (url.hasParameter("service")) { - parameter = "service=" + url.getParameter("service"); - } else if (url.hasParameter("host")) { - parameter = "host=" + url.getParameter("host"); - } else if (url.hasParameter("application")) { - parameter = "application=" + url.getParameter("application"); - } else { - parameter = "service=" + consumerUrl.getServiceInterface(); - } - return new Page(""); - } - - private static class NotifyListenerAdapter implements NotifyListener { - - public static final NotifyListener NOTIFY_LISTENER = new NotifyListenerAdapter(); - - private NotifyListenerAdapter() { - } - - public void notify(List urls) { - } - - } - -} diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/PageHandler.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/PageHandler.java deleted file mode 100644 index 56d919d..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/PageHandler.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.servlet; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.extension.SPI; -import com.alibaba.dubbo.monitor.simple.common.Page; - -/** - * PageHandler - */ -@SPI -public interface PageHandler { - - /** - * Handle the page. - * - * @param url - * @return the page. - */ - Page handle(URL url); - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/PageServlet.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/PageServlet.java deleted file mode 100644 index 13c3205..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/PageServlet.java +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.servlet; - -import com.alibaba.dubbo.common.Constants; -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.extension.ExtensionLoader; -import com.alibaba.dubbo.common.logger.Logger; -import com.alibaba.dubbo.common.logger.LoggerFactory; -import com.alibaba.dubbo.common.utils.StringUtils; -import com.alibaba.dubbo.monitor.simple.common.Menu; -import com.alibaba.dubbo.monitor.simple.common.MenuComparator; -import com.alibaba.dubbo.monitor.simple.common.Page; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Random; -import java.util.concurrent.ConcurrentHashMap; - -/** - * PageServlet - */ -public class PageServlet extends HttpServlet { - - protected static final Logger logger = LoggerFactory.getLogger(PageServlet.class); - private static final long serialVersionUID = -8370312705453328501L; - private static PageServlet INSTANCE; - protected final Random random = new Random(); - protected final Map pages = new ConcurrentHashMap(); - protected final List menus = new ArrayList(); - - public static PageServlet getInstance() { - return INSTANCE; - } - - public List getMenus() { - return Collections.unmodifiableList(menus); - } - - @Override - public void init() throws ServletException { - super.init(); - INSTANCE = this; - String config = getServletConfig().getInitParameter("pages"); - Collection names; - if (config != null && config.length() > 0) { - names = Arrays.asList(Constants.COMMA_SPLIT_PATTERN.split(config)); - } else { - names = ExtensionLoader.getExtensionLoader(PageHandler.class).getSupportedExtensions(); - } - for (String name : names) { - PageHandler handler = ExtensionLoader.getExtensionLoader(PageHandler.class).getExtension(name); - pages.put(ExtensionLoader.getExtensionLoader(PageHandler.class).getExtensionName(handler), handler); - Menu menu = handler.getClass().getAnnotation(Menu.class); - if (menu != null) { - menus.add(handler); - } - } - Collections.sort(menus, new MenuComparator()); - } - - @Override - protected final void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - doPost(request, response); - } - - @Override - protected final void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - if (!response.isCommitted()) { - PrintWriter writer = response.getWriter(); - String uri = request.getRequestURI(); - boolean isHtml = false; - if (uri == null || uri.length() == 0 || "/".equals(uri)) { - uri = "index"; - isHtml = true; - } else { - if (uri.startsWith("/")) { - uri = uri.substring(1); - } - if (uri.endsWith(".html")) { - uri = uri.substring(0, uri.length() - ".html".length()); - isHtml = true; - } - } - if (uri.endsWith("favicon.ico")) { - response.sendError(HttpServletResponse.SC_NOT_FOUND); - return; - } - ExtensionLoader pageHandlerLoader = ExtensionLoader.getExtensionLoader(PageHandler.class); - PageHandler pageHandler = pageHandlerLoader.hasExtension(uri) ? pageHandlerLoader.getExtension(uri) : null; - if (isHtml) { - writer.println("Dubbo"); - writer.println(""); - writer.println(""); - } - if (pageHandler != null) { - Page page = null; - try { - String query = request.getQueryString(); - page = pageHandler.handle(URL.valueOf(request.getRequestURL().toString() - + (query == null || query.length() == 0 ? "" : "?" + query))); - } catch (Throwable t) { - logger.warn(t.getMessage(), t); - String msg = t.getMessage(); - if (msg == null) { - msg = StringUtils.toString(t); - } - if (isHtml) { - writer.println(""); - writer.println(""); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(""); - writer.println(""); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(""); - writer.println("
Error
"); - writer.println(" " + msg.replace("<", "<").replace(">", "<").replace("\n", "
")); - writer.println("
"); - writer.println("
"); - } else { - writer.println(msg); - } - } - if (page != null) { - if (isHtml) { - String nav = page.getNavigation(); - if (nav == null || nav.length() == 0) { - nav = ExtensionLoader.getExtensionLoader(PageHandler.class).getExtensionName(pageHandler); - nav = nav.substring(0, 1).toUpperCase() + nav.substring(1); - } - if (!"index".equals(uri)) { - nav = "Home > " + nav; - } - writeMenu(request, writer, nav); - writeTable(writer, page.getTitle(), page.getColumns(), - page.getRows()); - } else { - if (page.getRows().size() > 0 && page.getRows().get(0).size() > 0) { - writer.println(page.getRows().get(0).get(0)); - } - } - } - } else { - if (isHtml) { - writer.println(""); - writer.println(""); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(""); - writer.println(""); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(""); - writer.println("
Error
"); - writer.println(" Not found " + uri + " page. Please goto Home page."); - writer.println("
"); - writer.println("
"); - } else { - writer.println("Not found " + uri + " page."); - } - } - if (isHtml) { - writer.println(""); - } - writer.flush(); - } - } - - protected final void writeMenu(HttpServletRequest request, PrintWriter writer, String nav) { - writer.println(""); - writer.println(""); - writer.println(" "); - for (PageHandler handler : menus) { - String uri = ExtensionLoader.getExtensionLoader(PageHandler.class).getExtensionName(handler); - Menu menu = handler.getClass().getAnnotation(Menu.class); - writer.println(" "); - } - writer.println(" "); - writer.println(""); - writer.println(""); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(""); - writer.println("
" + menu.name() + "
"); - writer.println(nav); - writer.println("
"); - writer.println("
"); - } - - protected final void writeTable(PrintWriter writer, String title, List columns, - List> rows) { - int n = random.nextInt(); - int c = (columns == null ? (rows == null || rows.size() == 0 ? 0 : rows.get(0).size()) - : columns.size()); - int r = (rows == null ? 0 : rows.size()); - writer.println(""); - writer.println(""); - writer.println(" "); - writer.println(" "); - writer.println(" "); - if (columns != null && columns.size() > 0) { - writer.println(" "); - for (int i = 0; i < columns.size(); i++) { - String col = columns.get(i); - if (col.endsWith(":")) { - col += " 0 && (tv.length < iv.length || tv.indexOf(iv) == -1)) { m = false; break; } } } document.getElementById('tr_" - + n - + "_' + i).style.display = (m ? '' : 'none');}\" sytle=\"width: 100%\" />"; - } - writer.println(" "); - } - writer.println(" "); - } - writer.println(""); - if (rows != null && rows.size() > 0) { - writer.println(""); - int i = 0; - for (Collection row : rows) { - writer.println(" "); - int j = 0; - for (String col : row) { - writer.println(" "); - j++; - } - writer.println(" "); - i++; - } - writer.println(""); - } - writer.println("
" + title + "
" + col + "
" + col + "
"); - writer.println("
"); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/ResourceFilter.java b/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/ResourceFilter.java deleted file mode 100644 index 86ad1df..0000000 --- a/dubbo-monitor-simple/src/main/java/com/alibaba/dubbo/monitor/simple/servlet/ResourceFilter.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple.servlet; - -import com.alibaba.dubbo.common.Constants; - -import javax.servlet.Filter; -import javax.servlet.FilterChain; -import javax.servlet.FilterConfig; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; - -/** - * ResourceServlet - */ -public class ResourceFilter implements Filter { - - private static final String CLASSPATH_PREFIX = "classpath:"; - - private final long start = System.currentTimeMillis(); - - private final List resources = new ArrayList(); - - public void init(FilterConfig filterConfig) throws ServletException { - String config = filterConfig.getInitParameter("resources"); - if (config != null && config.length() > 0) { - String[] configs = Constants.COMMA_SPLIT_PATTERN.split(config); - for (String c : configs) { - if (c != null && c.length() > 0) { - c = c.replace('\\', '/'); - if (c.endsWith("/")) { - c = c.substring(0, c.length() - 1); - } - resources.add(c); - } - } - } - } - - public void destroy() { - } - - public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) - throws IOException, ServletException { - HttpServletRequest request = (HttpServletRequest) req; - HttpServletResponse response = (HttpServletResponse) res; - if (response.isCommitted()) { - return; - } - String uri = request.getRequestURI(); - String context = request.getContextPath(); - if (uri.endsWith("/favicon.ico")) { - uri = "/favicon.ico"; - } else if (context != null && !"/".equals(context)) { - uri = uri.substring(context.length()); - } - if (!uri.startsWith("/")) { - uri = "/" + uri; - } - long lastModified = getLastModified(uri); - long since = request.getDateHeader("If-Modified-Since"); - if (since >= lastModified) { - response.sendError(HttpServletResponse.SC_NOT_MODIFIED); - return; - } - byte[] data; - InputStream input = getInputStream(uri); - if (input == null) { - chain.doFilter(req, res); - return; - } - try { - ByteArrayOutputStream output = new ByteArrayOutputStream(); - byte[] buffer = new byte[8192]; - int n = 0; - while (-1 != (n = input.read(buffer))) { - output.write(buffer, 0, n); - } - data = output.toByteArray(); - } finally { - input.close(); - } - response.setDateHeader("Last-Modified", lastModified); - OutputStream output = response.getOutputStream(); - output.write(data); - output.flush(); - } - - private boolean isFile(String path) { - return path.startsWith("/") || path.indexOf(":") <= 1; - } - - private long getLastModified(String uri) { - for (String resource : resources) { - if (resource != null && resource.length() > 0) { - String path = resource + uri; - if (isFile(path)) { - File file = new File(path); - if (file.exists()) { - return file.lastModified(); - } - } - } - } - return start; - } - - private InputStream getInputStream(String uri) { - for (String resource : resources) { - String path = resource + uri; - try { - if (isFile(path)) { - return new FileInputStream(path); - } else if (path.startsWith(CLASSPATH_PREFIX)) { - return Thread.currentThread().getContextClassLoader().getResourceAsStream(path.substring(CLASSPATH_PREFIX.length())); - } else { - return new URL(path).openStream(); - } - } catch (IOException e) { - } - } - return null; - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/dump.sh b/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/dump.sh deleted file mode 100755 index 2eaad1b..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/dump.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -cd `dirname $0` -BIN_DIR=`pwd` -cd .. -DEPLOY_DIR=`pwd` -CONF_DIR=$DEPLOY_DIR/conf - -SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -LOGS_FILE=`sed '/dubbo.log4j.file/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` - -if [ -z "$SERVER_NAME" ]; then - SERVER_NAME=`hostname` -fi - -PIDS=`ps -ef | grep java | grep -v grep | grep "$CONF_DIR" |awk '{print $2}'` -if [ -z "$PIDS" ]; then - echo "ERROR: The $SERVER_NAME does not started!" - exit 1 -fi - -LOGS_DIR="" -if [ -n "$LOGS_FILE" ]; then - LOGS_DIR=`dirname $LOGS_FILE` -else - LOGS_DIR=$DEPLOY_DIR/logs -fi -if [ ! -d $LOGS_DIR ]; then - mkdir $LOGS_DIR -fi -DUMP_DIR=$LOGS_DIR/dump -if [ ! -d $DUMP_DIR ]; then - mkdir $DUMP_DIR -fi -DUMP_DATE=`date +%Y%m%d%H%M%S` -DATE_DIR=$DUMP_DIR/$DUMP_DATE -if [ ! -d $DATE_DIR ]; then - mkdir $DATE_DIR -fi - -echo -e "Dumping the $SERVER_NAME ...\c" -for PID in $PIDS ; do - jstack $PID > $DATE_DIR/jstack-$PID.dump 2>&1 - echo -e ".\c" - jinfo $PID > $DATE_DIR/jinfo-$PID.dump 2>&1 - echo -e ".\c" - jstat -gcutil $PID > $DATE_DIR/jstat-gcutil-$PID.dump 2>&1 - echo -e ".\c" - jstat -gccapacity $PID > $DATE_DIR/jstat-gccapacity-$PID.dump 2>&1 - echo -e ".\c" - jmap $PID > $DATE_DIR/jmap-$PID.dump 2>&1 - echo -e ".\c" - jmap -heap $PID > $DATE_DIR/jmap-heap-$PID.dump 2>&1 - echo -e ".\c" - jmap -histo $PID > $DATE_DIR/jmap-histo-$PID.dump 2>&1 - echo -e ".\c" - if [ -r /usr/sbin/lsof ]; then - /usr/sbin/lsof -p $PID > $DATE_DIR/lsof-$PID.dump - echo -e ".\c" - fi -done - -if [ -r /assembly.bin/netstat ]; then -/assembly.bin/netstat -an > $DATE_DIR/netstat.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/iostat ]; then -/usr/assembly.bin/iostat > $DATE_DIR/iostat.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/mpstat ]; then -/usr/assembly.bin/mpstat > $DATE_DIR/mpstat.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/vmstat ]; then -/usr/assembly.bin/vmstat > $DATE_DIR/vmstat.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/free ]; then -/usr/assembly.bin/free -t > $DATE_DIR/free.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/sar ]; then -/usr/assembly.bin/sar > $DATE_DIR/sar.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/uptime ]; then -/usr/assembly.bin/uptime > $DATE_DIR/uptime.dump 2>&1 -echo -e ".\c" -fi - -echo "OK!" -echo "DUMP: $DATE_DIR" diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/restart.sh b/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/restart.sh deleted file mode 100644 index 647ec19..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/restart.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -cd `dirname $0` -./stop.sh -./start.sh diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/server.sh b/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/server.sh deleted file mode 100644 index 90947a5..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/server.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -cd `dirname $0` -if [ "$1" = "start" ]; then - ./start.sh -else - if [ "$1" = "stop" ]; then - ./stop.sh - else - if [ "$1" = "debug" ]; then - ./start.sh debug - else - if [ "$1" = "restart" ]; then - ./restart.sh - else - if [ "$1" = "dump" ]; then - ./dump.sh - else - echo "ERROR: Please input argument: start or stop or debug or restart or dump" - exit 1 - fi - fi - fi - fi -fi diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/start.bat b/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/start.bat deleted file mode 100644 index fce3ff6..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/start.bat +++ /dev/null @@ -1,22 +0,0 @@ -@echo off & setlocal enabledelayedexpansion - -set LIB_JARS="" -cd ..\lib -for %%i in (*) do set LIB_JARS=!LIB_JARS!;..\lib\%%i -cd ..\assembly.bin - -if ""%1"" == ""debug"" goto debug -if ""%1"" == ""jmx"" goto jmx - -java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main -goto end - -:debug -java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main -goto end - -:jmx -java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main - -:end -pause \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/start.sh b/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/start.sh deleted file mode 100755 index 026903a..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/start.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -cd `dirname $0` -BIN_DIR=`pwd` -cd .. -DEPLOY_DIR=`pwd` -CONF_DIR=$DEPLOY_DIR/conf - - -SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -SERVER_PROTOCOL=`sed '/dubbo.protocol.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -if [ -z "$SERVER_HOST" ]; then - SERVER_HOST=`sed '/dubbo.protocol.host/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -fi - -if [ -z "$SERVER_PORT" ]; then - SERVER_PORT=`sed '/dubbo.protocol.port/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -fi -LOGS_FILE=`sed '/dubbo.log4j.file/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` - -if [ -z "$SERVER_HOST" ]; then - SERVER_HOST='127.0.0.1' -fi - -if [ -z "$SERVER_NAME" ]; then - SERVER_NAME=`hostname` -fi - -PIDS=`ps -ef | grep java | grep -v grep | grep "$CONF_DIR" |awk '{print $2}'` -if [ -n "$PIDS" ]; then - echo "ERROR: The $SERVER_NAME already started!" - echo "PID: $PIDS" - exit 1 -fi - -if [ -n "$SERVER_PORT" ]; then - SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PORT | wc -l` - if [ $SERVER_PORT_COUNT -gt 0 ]; then - echo "ERROR: The $SERVER_NAME port $SERVER_PORT already used!" - exit 1 - fi -fi - -LOGS_DIR="" -if [ -n "$LOGS_FILE" ]; then - LOGS_DIR=`dirname $LOGS_FILE` -else - LOGS_DIR=$DEPLOY_DIR/logs -fi -if [ ! -d $LOGS_DIR ]; then - mkdir $LOGS_DIR -fi -STDOUT_FILE=$LOGS_DIR/stdout.log - -LIB_DIR=$DEPLOY_DIR/lib -LIB_JARS=`ls $LIB_DIR|grep .jar|awk '{print "'$LIB_DIR'/"$0}'|tr "\n" ":"` - -JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true " -JAVA_DEBUG_OPTS="" -if [ "$1" = "debug" ]; then - JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n " -fi -JAVA_JMX_OPTS="" -if [ "$1" = "jmx" ]; then - JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false " -fi -JAVA_MEM_OPTS="" -BITS=`java -version 2>&1 | grep -i 64-bit` -if [ -n "$BITS" ]; then - JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 " -else - JAVA_MEM_OPTS=" -server -Xms1g -Xmx1g -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC " -fi - -echo -e "Starting the $SERVER_NAME ...\c" -nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 & - -COUNT=0 -while [ $COUNT -lt 1 ]; do - echo -e ".\c" - sleep 1 - if [ -n "$SERVER_PORT" ]; then - if [ "$SERVER_PROTOCOL" == "dubbo" ]; then - COUNT=`echo status | nc -i 1 $SERVER_HOST $SERVER_PORT | grep -c OK` - else - COUNT=`netstat -an | grep $SERVER_PORT | wc -l` - fi - else - COUNT=`ps -f | grep java | grep -v grep | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l` - fi - if [ $COUNT -gt 0 ]; then - break - fi -done - -echo "OK!" -PIDS=`ps -f | grep java | grep -v grep | grep "$DEPLOY_DIR" | awk '{print $2}'` -echo "PID: $PIDS" -echo "STDOUT: $STDOUT_FILE" - -if [ "$1" = "run" ]; then - while ps -p $PIDS > /dev/null - do - echo -e ".\c" - sleep 1 - done -fi diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/stop.sh b/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/stop.sh deleted file mode 100755 index 8fca15e..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/assembly/bin/stop.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -cd `dirname $0` -BIN_DIR=`pwd` -cd .. -DEPLOY_DIR=`pwd` -CONF_DIR=$DEPLOY_DIR/conf - -SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` - -if [ -z "$SERVER_NAME" ]; then - SERVER_NAME=`hostname` -fi - -PIDS=`ps -ef | grep java | grep -v grep | grep "$CONF_DIR" |awk '{print $2}'` -if [ -z "$PIDS" ]; then - echo "ERROR: The $SERVER_NAME does not started!" - exit 1 -fi - -if [ "$1" != "skip" ]; then - $BIN_DIR/dump.sh -fi - -echo -e "Stopping the $SERVER_NAME ...\c" -for PID in $PIDS ; do - kill $PID > /dev/null 2>&1 -done - -COUNT=0 -while [ $COUNT -lt 1 ]; do - echo -e ".\c" - sleep 1 - COUNT=1 - for PID in $PIDS ; do - PID_EXIST=`ps -f -p $PID | grep java` - if [ -n "$PID_EXIST" ]; then - COUNT=0 - break - fi - done -done - -echo "OK!" -echo "PID: $PIDS" diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.container.Container b/dubbo-monitor-simple/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.container.Container deleted file mode 100644 index b3bfcf6..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.container.Container +++ /dev/null @@ -1,2 +0,0 @@ -registry=com.alibaba.dubbo.monitor.simple.container.RegistryContainer -jetty-monitor=com.alibaba.dubbo.monitor.simple.container.JettyContainer \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.monitor.simple.servlet.PageHandler b/dubbo-monitor-simple/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.monitor.simple.servlet.PageHandler deleted file mode 100644 index f31319c..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/dubbo/internal/com.alibaba.dubbo.monitor.simple.servlet.PageHandler +++ /dev/null @@ -1,19 +0,0 @@ -services=com.alibaba.dubbo.monitor.simple.pages.ServicesPageHandler -providers=com.alibaba.dubbo.monitor.simple.pages.ProvidersPageHandler -consumers=com.alibaba.dubbo.monitor.simple.pages.ConsumersPageHandler -statistics=com.alibaba.dubbo.monitor.simple.pages.StatisticsPageHandler -charts=com.alibaba.dubbo.monitor.simple.pages.ChartsPageHandler -applications=com.alibaba.dubbo.monitor.simple.pages.ApplicationsPageHandler -dependencies=com.alibaba.dubbo.monitor.simple.pages.DependenciesPageHandler -hosts=com.alibaba.dubbo.monitor.simple.pages.HostsPageHandler -unregister=com.alibaba.dubbo.monitor.simple.pages.UnregisterPageHandler -unsubscribe=com.alibaba.dubbo.monitor.simple.pages.UnsubscribePageHandler -index=com.alibaba.dubbo.monitor.simple.pages.HomePageHandler -status=com.alibaba.dubbo.monitor.simple.pages.StatusPageHandler -log=com.alibaba.dubbo.monitor.simple.pages.LogPageHandler -system=com.alibaba.dubbo.monitor.simple.pages.SystemPageHandler -registries=com.alibaba.dubbo.monitor.simple.pages.RegistriesPageHandler -registered=com.alibaba.dubbo.monitor.simple.pages.RegisteredPageHandler -subscribed=com.alibaba.dubbo.monitor.simple.pages.SubscribedPageHandler -servers=com.alibaba.dubbo.monitor.simple.pages.ServersPageHandler -clients=com.alibaba.dubbo.monitor.simple.pages.ClientsPageHandler \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/resources/META-INF/spring/dubbo-monitor-simple.xml b/dubbo-monitor-simple/src/main/resources/META-INF/spring/dubbo-monitor-simple.xml deleted file mode 100644 index 8032d09..0000000 --- a/dubbo-monitor-simple/src/main/resources/META-INF/spring/dubbo-monitor-simple.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/resources/conf/dubbo.properties b/dubbo-monitor-simple/src/main/resources/conf/dubbo.properties deleted file mode 100644 index 9bece5f..0000000 --- a/dubbo-monitor-simple/src/main/resources/conf/dubbo.properties +++ /dev/null @@ -1,29 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dubbo.container=log4j,spring,registry,jetty-monitor -dubbo.application.name=simple-monitor -dubbo.application.owner=dubbo -#dubbo.registry.address=multicast://224.5.6.7:1234 -dubbo.registry.address=zookeeper://127.0.0.1:2181 -#dubbo.registry.address=redis://127.0.0.1:6379 -#dubbo.registry.address=dubbo://127.0.0.1:9090 -dubbo.protocol.port=7070 -dubbo.jetty.port=8080 -dubbo.jetty.directory=${user.home}/monitor -dubbo.charts.directory=${user.home}/monitor/charts -dubbo.statistics.directory=${user.home}/monitor/statistics -dubbo.log4j.file=logs/dubbo-monitor-simple.log -dubbo.log4j.level=WARN \ No newline at end of file diff --git a/dubbo-monitor-simple/src/main/resources/log4j.xml b/dubbo-monitor-simple/src/main/resources/log4j.xml deleted file mode 100644 index 315d6b3..0000000 --- a/dubbo-monitor-simple/src/main/resources/log4j.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dubbo-monitor-simple/src/test/java/com/alibaba/dubbo/monitor/simple/SimpleMonitor.java b/dubbo-monitor-simple/src/test/java/com/alibaba/dubbo/monitor/simple/SimpleMonitor.java deleted file mode 100644 index 777e281..0000000 --- a/dubbo-monitor-simple/src/test/java/com/alibaba/dubbo/monitor/simple/SimpleMonitor.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple; - -public class SimpleMonitor { - - public static void main(String[] args) { - com.alibaba.dubbo.container.Main.main(args); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/test/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorServiceTest.java b/dubbo-monitor-simple/src/test/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorServiceTest.java deleted file mode 100644 index 58549e0..0000000 --- a/dubbo-monitor-simple/src/test/java/com/alibaba/dubbo/monitor/simple/SimpleMonitorServiceTest.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.monitor.simple; - -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.utils.NetUtils; - -import org.junit.Test; - -/** - * SimpleMonitorServiceTest - */ -public class SimpleMonitorServiceTest { - - @Test - public void testMonitor() { - new SimpleMonitorService().collect(new URL("dubbo", NetUtils.getLocalHost(), 0)); - } - -} \ No newline at end of file diff --git a/dubbo-monitor-simple/src/test/resources/dubbo.properties b/dubbo-monitor-simple/src/test/resources/dubbo.properties deleted file mode 100644 index ffe1763..0000000 --- a/dubbo-monitor-simple/src/test/resources/dubbo.properties +++ /dev/null @@ -1,29 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dubbo.container=log4j,spring,registry,jetty -dubbo.application.name=simple-monitor -dubbo.application.owner= -dubbo.registry.address=multicast://224.5.6.7:1234 -#dubbo.registry.address=zookeeper://127.0.0.1:2181 -#dubbo.registry.address=redis://127.0.0.1:6379 -#dubbo.registry.address=dubbo://127.0.0.1:9090 -dubbo.protocol.port=7070 -dubbo.jetty.port=8080 -dubbo.jetty.directory=${user.home}/monitor -dubbo.charts.directory=${dubbo.jetty.directory}/charts -dubbo.statistics.directory=${user.home}/monitor/statistics -#dubbo.log4j.file=logs/dubbo-demo-consumer.log -#dubbo.log4j.level=WARN \ No newline at end of file diff --git a/dubbo-monitor-simple/src/test/resources/log4j.xml b/dubbo-monitor-simple/src/test/resources/log4j.xml deleted file mode 100644 index 230a044..0000000 --- a/dubbo-monitor-simple/src/test/resources/log4j.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dubbo-registry-simple/pom.xml b/dubbo-registry-simple/pom.xml deleted file mode 100644 index 011aecd..0000000 --- a/dubbo-registry-simple/pom.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - 4.0.0 - - com.alibaba - dubbo-ops - 2.0.0 - - dubbo-registry-simple - jar - ${project.artifactId} - The reference implementation of dubbo registry - - false - - - - com.alibaba - dubbo - - - org.mortbay.jetty - jetty - - - - - - maven-dependency-plugin - - - unpack - package - - unpack - - - - - com.alibaba - dubbo - ${dubbo_all_version} - ${project.build.directory}/dubbo - META-INF/assembly/** - - - - - - - - maven-assembly-plugin - - src/main/assembly/assembly.xml - - - - make-assembly - package - - single - - - - - - - \ No newline at end of file diff --git a/dubbo-registry-simple/src/main/assembly/assembly.xml b/dubbo-registry-simple/src/main/assembly/assembly.xml deleted file mode 100644 index 39f34dc..0000000 --- a/dubbo-registry-simple/src/main/assembly/assembly.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - assembly - - tar.gz - - true - - - ${project.build.directory}/classes/META-INF/assembly/bin - assembly.bin - 0755 - - - src/main/resources/conf - conf - 0644 - - - - - lib - - - \ No newline at end of file diff --git a/dubbo-registry-simple/src/main/java/com/alibaba/dubbo/registry/simple/SimpleRegistryService.java b/dubbo-registry-simple/src/main/java/com/alibaba/dubbo/registry/simple/SimpleRegistryService.java deleted file mode 100644 index c8e8af9..0000000 --- a/dubbo-registry-simple/src/main/java/com/alibaba/dubbo/registry/simple/SimpleRegistryService.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.registry.simple; - -import com.alibaba.dubbo.common.Constants; -import com.alibaba.dubbo.common.URL; -import com.alibaba.dubbo.common.logger.Logger; -import com.alibaba.dubbo.common.logger.LoggerFactory; -import com.alibaba.dubbo.common.utils.ConcurrentHashSet; -import com.alibaba.dubbo.common.utils.NetUtils; -import com.alibaba.dubbo.common.utils.UrlUtils; -import com.alibaba.dubbo.registry.NotifyListener; -import com.alibaba.dubbo.registry.RegistryService; -import com.alibaba.dubbo.registry.support.AbstractRegistry; -import com.alibaba.dubbo.rpc.RpcContext; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; - -/** - * SimpleRegistryService - */ -public class SimpleRegistryService extends AbstractRegistry { - - private final static Logger logger = LoggerFactory.getLogger(SimpleRegistryService.class); - private final ConcurrentMap> remoteRegistered = new ConcurrentHashMap>(); - private final ConcurrentMap>> remoteSubscribed = new ConcurrentHashMap>>(); - - public SimpleRegistryService() { - super(new URL("dubbo", NetUtils.getLocalHost(), 0, RegistryService.class.getName(), "file", "N/A")); - } - - public boolean isAvailable() { - return true; - } - - public List lookup(URL url) { - List urls = new ArrayList(); - for (URL u : getRegistered()) { - if (UrlUtils.isMatch(url, u)) { - urls.add(u); - } - } - return urls; - } - - public void register(URL url) { - String client = RpcContext.getContext().getRemoteAddressString(); - Set urls = remoteRegistered.get(client); - if (urls == null) { - remoteRegistered.putIfAbsent(client, new ConcurrentHashSet()); - urls = remoteRegistered.get(client); - } - urls.add(url); - super.register(url); - registered(url); - } - - public void unregister(URL url) { - String client = RpcContext.getContext().getRemoteAddressString(); - Set urls = remoteRegistered.get(client); - if (urls != null && urls.size() > 0) { - urls.remove(url); - } - super.unregister(url); - unregistered(url); - } - - public void subscribe(URL url, NotifyListener listener) { - if (getUrl().getPort() == 0) { - URL registryUrl = RpcContext.getContext().getUrl(); - if (registryUrl != null && registryUrl.getPort() > 0 - && RegistryService.class.getName().equals(registryUrl.getPath())) { - super.setUrl(registryUrl); - super.register(registryUrl); - } - } - String client = RpcContext.getContext().getRemoteAddressString(); - ConcurrentMap> clientListeners = remoteSubscribed.get(client); - if (clientListeners == null) { - remoteSubscribed.putIfAbsent(client, new ConcurrentHashMap>()); - clientListeners = remoteSubscribed.get(client); - } - Set listeners = clientListeners.get(url); - if (listeners == null) { - clientListeners.putIfAbsent(url, new ConcurrentHashSet()); - listeners = clientListeners.get(url); - } - listeners.add(listener); - super.subscribe(url, listener); - subscribed(url, listener); - } - - public void unsubscribe(URL url, NotifyListener listener) { - if (!Constants.ANY_VALUE.equals(url.getServiceInterface()) - && url.getParameter(Constants.REGISTER_KEY, true)) { - unregister(url); - } - String client = RpcContext.getContext().getRemoteAddressString(); - Map> clientListeners = remoteSubscribed.get(client); - if (clientListeners != null && clientListeners.size() > 0) { - Set listeners = clientListeners.get(url); - if (listeners != null && listeners.size() > 0) { - listeners.remove(listener); - } - } - } - - protected void registered(URL url) { - for (Map.Entry> entry : getSubscribed().entrySet()) { - URL key = entry.getKey(); - if (UrlUtils.isMatch(key, url)) { - List list = lookup(key); - for (NotifyListener listener : entry.getValue()) { - listener.notify(list); - } - } - } - } - - protected void unregistered(URL url) { - for (Map.Entry> entry : getSubscribed().entrySet()) { - URL key = entry.getKey(); - if (UrlUtils.isMatch(key, url)) { - List list = lookup(key); - for (NotifyListener listener : entry.getValue()) { - listener.notify(list); - } - } - } - } - - protected void subscribed(final URL url, final NotifyListener listener) { - if (Constants.ANY_VALUE.equals(url.getServiceInterface())) { - new Thread(new Runnable() { - public void run() { - Map> map = new HashMap>(); - for (URL u : getRegistered()) { - if (UrlUtils.isMatch(url, u)) { - String service = u.getServiceInterface(); - List list = map.get(service); - if (list == null) { - list = new ArrayList(); - map.put(service, list); - } - list.add(u); - } - } - for (List list : map.values()) { - try { - listener.notify(list); - } catch (Throwable e) { - logger.warn("Discard to notify " + url.getServiceKey() + " to listener " + listener); - } - } - } - }, "DubboMonitorNotifier").start(); - } else { - List list = lookup(url); - try { - listener.notify(list); - } catch (Throwable e) { - logger.warn("Discard to notify " + url.getServiceKey() + " to listener " + listener); - } - } - } - - public void disconnect() { - String client = RpcContext.getContext().getRemoteAddressString(); - if (logger.isInfoEnabled()) { - logger.info("Disconnected " + client); - } - Set urls = remoteRegistered.get(client); - if (urls != null && urls.size() > 0) { - for (URL url : urls) { - unregister(url); - } - } - Map> listeners = remoteSubscribed.get(client); - if (listeners != null && listeners.size() > 0) { - for (Map.Entry> entry : listeners.entrySet()) { - URL url = entry.getKey(); - for (NotifyListener listener : entry.getValue()) { - unsubscribe(url, listener); - } - } - } - } - -} \ No newline at end of file diff --git a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/dump.sh b/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/dump.sh deleted file mode 100755 index 2eaad1b..0000000 --- a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/dump.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -cd `dirname $0` -BIN_DIR=`pwd` -cd .. -DEPLOY_DIR=`pwd` -CONF_DIR=$DEPLOY_DIR/conf - -SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -LOGS_FILE=`sed '/dubbo.log4j.file/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` - -if [ -z "$SERVER_NAME" ]; then - SERVER_NAME=`hostname` -fi - -PIDS=`ps -ef | grep java | grep -v grep | grep "$CONF_DIR" |awk '{print $2}'` -if [ -z "$PIDS" ]; then - echo "ERROR: The $SERVER_NAME does not started!" - exit 1 -fi - -LOGS_DIR="" -if [ -n "$LOGS_FILE" ]; then - LOGS_DIR=`dirname $LOGS_FILE` -else - LOGS_DIR=$DEPLOY_DIR/logs -fi -if [ ! -d $LOGS_DIR ]; then - mkdir $LOGS_DIR -fi -DUMP_DIR=$LOGS_DIR/dump -if [ ! -d $DUMP_DIR ]; then - mkdir $DUMP_DIR -fi -DUMP_DATE=`date +%Y%m%d%H%M%S` -DATE_DIR=$DUMP_DIR/$DUMP_DATE -if [ ! -d $DATE_DIR ]; then - mkdir $DATE_DIR -fi - -echo -e "Dumping the $SERVER_NAME ...\c" -for PID in $PIDS ; do - jstack $PID > $DATE_DIR/jstack-$PID.dump 2>&1 - echo -e ".\c" - jinfo $PID > $DATE_DIR/jinfo-$PID.dump 2>&1 - echo -e ".\c" - jstat -gcutil $PID > $DATE_DIR/jstat-gcutil-$PID.dump 2>&1 - echo -e ".\c" - jstat -gccapacity $PID > $DATE_DIR/jstat-gccapacity-$PID.dump 2>&1 - echo -e ".\c" - jmap $PID > $DATE_DIR/jmap-$PID.dump 2>&1 - echo -e ".\c" - jmap -heap $PID > $DATE_DIR/jmap-heap-$PID.dump 2>&1 - echo -e ".\c" - jmap -histo $PID > $DATE_DIR/jmap-histo-$PID.dump 2>&1 - echo -e ".\c" - if [ -r /usr/sbin/lsof ]; then - /usr/sbin/lsof -p $PID > $DATE_DIR/lsof-$PID.dump - echo -e ".\c" - fi -done - -if [ -r /assembly.bin/netstat ]; then -/assembly.bin/netstat -an > $DATE_DIR/netstat.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/iostat ]; then -/usr/assembly.bin/iostat > $DATE_DIR/iostat.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/mpstat ]; then -/usr/assembly.bin/mpstat > $DATE_DIR/mpstat.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/vmstat ]; then -/usr/assembly.bin/vmstat > $DATE_DIR/vmstat.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/free ]; then -/usr/assembly.bin/free -t > $DATE_DIR/free.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/sar ]; then -/usr/assembly.bin/sar > $DATE_DIR/sar.dump 2>&1 -echo -e ".\c" -fi -if [ -r /usr/assembly.bin/uptime ]; then -/usr/assembly.bin/uptime > $DATE_DIR/uptime.dump 2>&1 -echo -e ".\c" -fi - -echo "OK!" -echo "DUMP: $DATE_DIR" diff --git a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/restart.sh b/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/restart.sh deleted file mode 100644 index 647ec19..0000000 --- a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/restart.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -cd `dirname $0` -./stop.sh -./start.sh diff --git a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/server.sh b/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/server.sh deleted file mode 100644 index 90947a5..0000000 --- a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/server.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -cd `dirname $0` -if [ "$1" = "start" ]; then - ./start.sh -else - if [ "$1" = "stop" ]; then - ./stop.sh - else - if [ "$1" = "debug" ]; then - ./start.sh debug - else - if [ "$1" = "restart" ]; then - ./restart.sh - else - if [ "$1" = "dump" ]; then - ./dump.sh - else - echo "ERROR: Please input argument: start or stop or debug or restart or dump" - exit 1 - fi - fi - fi - fi -fi diff --git a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/start.bat b/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/start.bat deleted file mode 100644 index fce3ff6..0000000 --- a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/start.bat +++ /dev/null @@ -1,22 +0,0 @@ -@echo off & setlocal enabledelayedexpansion - -set LIB_JARS="" -cd ..\lib -for %%i in (*) do set LIB_JARS=!LIB_JARS!;..\lib\%%i -cd ..\assembly.bin - -if ""%1"" == ""debug"" goto debug -if ""%1"" == ""jmx"" goto jmx - -java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main -goto end - -:debug -java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main -goto end - -:jmx -java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main - -:end -pause \ No newline at end of file diff --git a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/start.sh b/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/start.sh deleted file mode 100755 index 3b491f0..0000000 --- a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/start.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -cd `dirname $0` -BIN_DIR=`pwd` -cd .. -DEPLOY_DIR=`pwd` -CONF_DIR=$DEPLOY_DIR/conf - -SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -SERVER_PROTOCOL=`sed '/dubbo.protocol.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -SERVER_HOST=`sed '/dubbo.protocol.host/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -SERVER_PORT=`sed '/dubbo.protocol.port/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` -LOGS_FILE=`sed '/dubbo.log4j.file/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` - -if [ -z "$SERVER_HOST" ]; then - SERVER_HOST='127.0.0.1' -fi - -if [ -z "$SERVER_NAME" ]; then - SERVER_NAME=`hostname` -fi - -PIDS=`ps -ef | grep java | grep -v grep | grep "$CONF_DIR" |awk '{print $2}'` -if [ -n "$PIDS" ]; then - echo "ERROR: The $SERVER_NAME already started!" - echo "PID: $PIDS" - exit 1 -fi - -if [ -n "$SERVER_PORT" ]; then - SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PORT | wc -l` - if [ $SERVER_PORT_COUNT -gt 0 ]; then - echo "ERROR: The $SERVER_NAME port $SERVER_PORT already used!" - exit 1 - fi -fi - -LOGS_DIR="" -if [ -n "$LOGS_FILE" ]; then - LOGS_DIR=`dirname $LOGS_FILE` -else - LOGS_DIR=$DEPLOY_DIR/logs -fi -if [ ! -d $LOGS_DIR ]; then - mkdir $LOGS_DIR -fi -STDOUT_FILE=$LOGS_DIR/stdout.log - -LIB_DIR=$DEPLOY_DIR/lib -LIB_JARS=`ls $LIB_DIR|grep .jar|awk '{print "'$LIB_DIR'/"$0}'|tr "\n" ":"` - -JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true " -JAVA_DEBUG_OPTS="" -if [ "$1" = "debug" ]; then - JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n " -fi -JAVA_JMX_OPTS="" -if [ "$1" = "jmx" ]; then - JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false " -fi -JAVA_MEM_OPTS="" -BITS=`java -version 2>&1 | grep -i 64-bit` -if [ -n "$BITS" ]; then - JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 " -else - JAVA_MEM_OPTS=" -server -Xms1g -Xmx1g -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC " -fi - -echo -e "Starting the $SERVER_NAME ...\c" -nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 & - -COUNT=0 -while [ $COUNT -lt 1 ]; do - echo -e ".\c" - sleep 1 - if [ -n "$SERVER_PORT" ]; then - if [ "$SERVER_PROTOCOL" == "dubbo" ]; then - COUNT=`echo status | nc -i 1 $SERVER_HOST $SERVER_PORT | grep -c OK` - else - COUNT=`netstat -an | grep $SERVER_PORT | wc -l` - fi - else - COUNT=`ps -f | grep java | grep -v grep | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l` - fi - if [ $COUNT -gt 0 ]; then - break - fi -done - -echo "OK!" -PIDS=`ps -f | grep java | grep -v grep | grep "$DEPLOY_DIR" | awk '{print $2}'` -echo "PID: $PIDS" -echo "STDOUT: $STDOUT_FILE" diff --git a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/stop.sh b/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/stop.sh deleted file mode 100755 index 8fca15e..0000000 --- a/dubbo-registry-simple/src/main/resources/META-INF/assembly/bin/stop.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -cd `dirname $0` -BIN_DIR=`pwd` -cd .. -DEPLOY_DIR=`pwd` -CONF_DIR=$DEPLOY_DIR/conf - -SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'` - -if [ -z "$SERVER_NAME" ]; then - SERVER_NAME=`hostname` -fi - -PIDS=`ps -ef | grep java | grep -v grep | grep "$CONF_DIR" |awk '{print $2}'` -if [ -z "$PIDS" ]; then - echo "ERROR: The $SERVER_NAME does not started!" - exit 1 -fi - -if [ "$1" != "skip" ]; then - $BIN_DIR/dump.sh -fi - -echo -e "Stopping the $SERVER_NAME ...\c" -for PID in $PIDS ; do - kill $PID > /dev/null 2>&1 -done - -COUNT=0 -while [ $COUNT -lt 1 ]; do - echo -e ".\c" - sleep 1 - COUNT=1 - for PID in $PIDS ; do - PID_EXIST=`ps -f -p $PID | grep java` - if [ -n "$PID_EXIST" ]; then - COUNT=0 - break - fi - done -done - -echo "OK!" -echo "PID: $PIDS" diff --git a/dubbo-registry-simple/src/main/resources/META-INF/spring/dubbo-registry-simple.xml b/dubbo-registry-simple/src/main/resources/META-INF/spring/dubbo-registry-simple.xml deleted file mode 100644 index 8be8861..0000000 --- a/dubbo-registry-simple/src/main/resources/META-INF/spring/dubbo-registry-simple.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/dubbo-registry-simple/src/main/resources/conf/dubbo.properties b/dubbo-registry-simple/src/main/resources/conf/dubbo.properties deleted file mode 100644 index a7ce85e..0000000 --- a/dubbo-registry-simple/src/main/resources/conf/dubbo.properties +++ /dev/null @@ -1,21 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dubbo.container=log4j,spring -dubbo.application.name=simple-registry -dubbo.application.owner=dubbo -dubbo.protocol.port=9090 -dubbo.log4j.file=logs/dubbo-simple-registry.log -dubbo.log4j.level=WARN \ No newline at end of file diff --git a/dubbo-registry-simple/src/test/java/com/alibaba/dubbo/registry/simple/SimpleRegistry.java b/dubbo-registry-simple/src/test/java/com/alibaba/dubbo/registry/simple/SimpleRegistry.java deleted file mode 100644 index c7b1d9a..0000000 --- a/dubbo-registry-simple/src/test/java/com/alibaba/dubbo/registry/simple/SimpleRegistry.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.registry.simple; - -public class SimpleRegistry { - - public static void main(String[] args) { - com.alibaba.dubbo.container.Main.main(args); - } - -} \ No newline at end of file diff --git a/dubbo-registry-simple/src/test/java/com/alibaba/dubbo/registry/simple/SimpleRegistryServiceTest.java b/dubbo-registry-simple/src/test/java/com/alibaba/dubbo/registry/simple/SimpleRegistryServiceTest.java deleted file mode 100644 index f008a75..0000000 --- a/dubbo-registry-simple/src/test/java/com/alibaba/dubbo/registry/simple/SimpleRegistryServiceTest.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.dubbo.registry.simple; - -import org.junit.Test; - -/** - * SimpleRegistryServiceTest - */ -public class SimpleRegistryServiceTest { - - @Test - public void testRegistry() { - new SimpleRegistryService(); - } - -} \ No newline at end of file diff --git a/dubbo-registry-simple/src/test/resources/dubbo.properties b/dubbo-registry-simple/src/test/resources/dubbo.properties deleted file mode 100644 index 6add997..0000000 --- a/dubbo-registry-simple/src/test/resources/dubbo.properties +++ /dev/null @@ -1,21 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dubbo.container=log4j,spring -dubbo.application.name=simple-registry -dubbo.application.owner= -dubbo.protocol.port=9090 -#dubbo.log4j.file=logs/dubbo-demo-consumer.log -#dubbo.log4j.level=WARN \ No newline at end of file diff --git a/dubbo-registry-simple/src/test/resources/log4j.xml b/dubbo-registry-simple/src/test/resources/log4j.xml deleted file mode 100644 index 230a044..0000000 --- a/dubbo-registry-simple/src/test/resources/log4j.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index fa319d5..69f7144 100644 --- a/pom.xml +++ b/pom.xml @@ -16,217 +16,73 @@ ~ limitations under the License. --> - - 4.0.0 + + 4.0.0 - com.alibaba - dubbo-ops - 2.0.0 - pom + org.apache + dubbo-admin + 0.0.1-SNAPSHOT + + dubbo-admin-frontend + dubbo-admin-backend + + pom - - 2.6.0 - 2.6.0 - 1.0.13 + dubbo-admin + Dubbo admin front and back end - - 4.3.10.RELEASE - 1.2.31 - 2.12.0 - 6.1.26 - 3.1.0 - 1.7.25 - 1.2.16 - 3.4 + + org.springframework.boot + spring-boot-starter-parent + 2.0.2.RELEASE + + - - 4.12 - 3.4 - 1.33 - 0.12 - 3.6.0 - 0.8.1 - + + ${project.basedir} + 3.7 + 2.6.2 + 2.12.0 + 1.2.46 + 1.22 + - - dubbo-admin - dubbo-monitor-simple - dubbo-registry-simple - - - + - - - com.alibaba - dubbo - ${dubbo_all_version} - - - jfree - jfreechart - ${jfreechart_version} - - - org.springframework - spring-framework-bom - ${spring_version} - pom - import - + + org.apache.commons + commons-lang3 + ${commons-lang3-version} + + + + com.alibaba + dubbo + ${dubbo-version} + + + + org.apache.curator + curator-framework + ${curator-version} + + + com.alibaba + fastjson + ${fastjson-version} + + + + org.yaml + snakeyaml + ${snakeyaml-version} + + + + - - - com.alibaba - fastjson - ${fastjson_version} - - - org.apache.curator - curator-framework - ${curator_version} - - - org.mortbay.jetty - jetty - ${jetty_version} - - - org.mortbay.jetty - servlet-api - - - - - javax.servlet - javax.servlet-api - ${servlet_version} - - - org.slf4j - slf4j-api - ${slf4j_version} - - - org.slf4j - slf4j-log4j12 - ${slf4j_version} - - - log4j - log4j - ${log4j_version} - - - org.apache.commons - commons-lang3 - ${commons_lang3_version} - - - - - - - junit - junit - ${junit_version} - test - - - org.easymock - easymock - ${easymock_version} - test - - - org.jmockit - jmockit - ${jmockit_version} - test - - - - - - - maven-dependency-plugin - 2.10 - - - maven-assembly-plugin - 2.6 - - - org.apache.maven.plugins - maven-compiler-plugin - ${maven_compiler_version} - - true - 1.6 - 1.6 - UTF-8 - - - - org.jacoco - jacoco-maven-plugin - ${maven_jacoco_version} - - - jacoco-initialize - - prepare-agent - - - jacocoArgLine - - - - jacoco-site - package - - report - - - - - - org.apache.rat - apache-rat-plugin - ${apache_rat_plugin.version} - - - verify.rat - verify - - check - - - - **/.idea/ - **/*.iml - .git/ - .gitignore - .repository/ - **/.settings/* - **/.classpath - **/.project - **/target/** - **/*.log - .codecov.yml - .travis.yml - README.md - - - - - - - - - \ No newline at end of file + -- GitLab