diff --git a/src/main/java/org/apache/rocketmq/dashboard/controller/ConsumerController.java b/src/main/java/org/apache/rocketmq/dashboard/controller/ConsumerController.java index cf4a210..59055a7 100644 --- a/src/main/java/org/apache/rocketmq/dashboard/controller/ConsumerController.java +++ b/src/main/java/org/apache/rocketmq/dashboard/controller/ConsumerController.java @@ -58,6 +58,12 @@ public class ConsumerController { return consumerService.refreshGroup(address, consumerGroup); } + @RequestMapping(value = "group.refresh.all") + @ResponseBody + public Object refreshAll(String address) { + return consumerService.refreshAllGroup(address); + } + @RequestMapping(value = "/group.query") @ResponseBody public Object groupQuery(@RequestParam String consumerGroup, String address) { diff --git a/src/main/java/org/apache/rocketmq/dashboard/service/ConsumerService.java b/src/main/java/org/apache/rocketmq/dashboard/service/ConsumerService.java index 001a184..60bc1b3 100644 --- a/src/main/java/org/apache/rocketmq/dashboard/service/ConsumerService.java +++ b/src/main/java/org/apache/rocketmq/dashboard/service/ConsumerService.java @@ -57,4 +57,6 @@ public interface ConsumerService { ConsumerRunningInfo getConsumerRunningInfo(String consumerGroup, String clientId, boolean jstack); Object refreshGroup(String address, String consumerGroup); + + Object refreshAllGroup(String address); } diff --git a/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java index 2f81582..2219782 100644 --- a/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java +++ b/src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java @@ -529,6 +529,7 @@ public class ConsumerServiceImpl extends AbstractCommonService implements Consum if (groupConsumeInfo.getGroup().equals(consumerGroup)) { GroupConsumeInfo updatedInfo = queryGroup(consumerGroup, ""); updatedInfo.setUpdateTime(new Date()); + updatedInfo.setGroup(consumerGroup); cacheConsumeInfoList.set(i, updatedInfo); return updatedInfo; } @@ -536,4 +537,10 @@ public class ConsumerServiceImpl extends AbstractCommonService implements Consum } throw new RuntimeException("No consumer group information available"); } + + @Override + public List refreshAllGroup(String address) { + cacheConsumeInfoList.clear(); + return queryGroupList(false, address); + } } diff --git a/src/main/resources/static/src/consumer.js b/src/main/resources/static/src/consumer.js index 8d5f2c7..43720ab 100644 --- a/src/main/resources/static/src/consumer.js +++ b/src/main/resources/static/src/consumer.js @@ -98,7 +98,7 @@ module.controller('consumerController', ['$scope', 'ngDialog', '$http', 'Notific }); } - $scope.refreshConsumerData = function () { + $scope.queryConsumerData = function () { //Show loader $('#loaderConsumer').removeClass("hide-myloader"); @@ -123,6 +123,30 @@ module.controller('consumerController', ['$scope', 'ngDialog', '$http', 'Notific } }); }; + $scope.refreshConsumerData = function () { + //Show loader + $('#loaderConsumer').removeClass("hide-myloader"); + + $http({ + method: "GET", + url: "consumer/group.refresh.all", + params: { + skipSysGroup: false + } + }).success(function (resp) { + if (resp.status == 0) { + $scope.allConsumerGrouopList = resp.data; + console.log($scope.allConsumerGrouopList); + console.log(JSON.stringify(resp)); + $scope.showConsumerGroupList($scope.paginationConf.currentPage, $scope.allConsumerGrouopList.length); + + //Hide loader + $('#loaderConsumer').addClass("hide-myloader"); + } else { + Notification.error({message: resp.errMsg, delay: 2000}); + } + }); + }; $scope.monitor = function (consumerGroupName) { $http({ method: "GET", @@ -148,12 +172,12 @@ module.controller('consumerController', ['$scope', 'ngDialog', '$http', 'Notific $scope.intervalProcess = null; } if ($scope.intervalProcessSwitch) { - $scope.intervalProcess = setInterval($scope.refreshConsumerData, 10000); + $scope.intervalProcess = setInterval($scope.queryConsumerData, 10000); } }); - $scope.refreshConsumerData(); + $scope.queryConsumerData(); $scope.filterStr = ""; $scope.$watch('filterStr', function () { $scope.paginationConf.currentPage = 1; @@ -255,7 +279,7 @@ module.controller('consumerController', ['$scope', 'ngDialog', '$http', 'Notific ngDialog.open({ preCloseCallback: function (value) { // Refresh topic list - $scope.refreshConsumerData(); + $scope.queryConsumerData(); }, template: $scope.rmqVersion ? 'consumerModifyDialogForV5' : 'consumerModifyDialog', controller: 'consumerModifyDialogController', @@ -339,7 +363,7 @@ module.controller('consumerController', ['$scope', 'ngDialog', '$http', 'Notific ngDialog.open({ preCloseCallback: function (value) { // Refresh topic list - $scope.refreshConsumerData(); + $scope.queryConsumerData(); }, template: 'deleteConsumerDialog', controller: 'deleteConsumerDialogController', diff --git a/src/main/resources/static/view/pages/consumer.html b/src/main/resources/static/view/pages/consumer.html index c187f72..37e4e89 100644 --- a/src/main/resources/static/view/pages/consumer.html +++ b/src/main/resources/static/view/pages/consumer.html @@ -33,6 +33,9 @@ + {{'AUTO_REFRESH' | translate}}