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;
}