public List queryGroupList()

in src/main/java/org/apache/rocketmq/dashboard/service/impl/ConsumerServiceImpl.java [141:173]


    public List<GroupConsumeInfo> queryGroupList(boolean skipSysGroup, String address) {
        if (isCacheBeingBuilt) {
            throw new RuntimeException("Cache is being built, please try again later");
        }

        synchronized (this) {
            if (cacheConsumeInfoList.isEmpty() && !isCacheBeingBuilt) {
                isCacheBeingBuilt = true;
                try {
                    makeGroupListCache();
                } finally {
                    isCacheBeingBuilt = false;
                }
            }
        }

        if (cacheConsumeInfoList.isEmpty()) {
            throw new RuntimeException("No consumer group information available");
        }

        List<GroupConsumeInfo> groupConsumeInfoList = new ArrayList<>(cacheConsumeInfoList);

        if (!skipSysGroup) {
            groupConsumeInfoList.stream().map(group -> {
                if (SYSTEM_GROUP_SET.contains(group.getGroup())) {
                    group.setGroup(String.format("%s%s", "%SYS%", group.getGroup()));
                }
                return group;
            }).collect(Collectors.toList());
        }
        Collections.sort(groupConsumeInfoList);
        return groupConsumeInfoList;
    }