diff --git a/common/src/main/java/org/apache/rocketmq/common/MixAll.java b/common/src/main/java/org/apache/rocketmq/common/MixAll.java index 39933038ba..c05a1d1926 100644 --- a/common/src/main/java/org/apache/rocketmq/common/MixAll.java +++ b/common/src/main/java/org/apache/rocketmq/common/MixAll.java @@ -44,6 +44,7 @@ import java.util.TreeMap; import java.util.concurrent.atomic.AtomicLong; import java.util.function.Predicate; +import com.google.common.collect.ImmutableSet; import org.apache.commons.lang3.StringUtils; import org.apache.rocketmq.common.annotation.ImportantField; import org.apache.rocketmq.common.constant.LoggerName; @@ -120,6 +121,23 @@ public class MixAll { private static final String OS = System.getProperty("os.name").toLowerCase(); + private static final Set PREDEFINE_GROUP_SET = ImmutableSet.of( + DEFAULT_CONSUMER_GROUP, + DEFAULT_PRODUCER_GROUP, + TOOLS_CONSUMER_GROUP, + SCHEDULE_CONSUMER_GROUP, + FILTERSRV_CONSUMER_GROUP, + MONITOR_CONSUMER_GROUP, + CLIENT_INNER_PRODUCER_GROUP, + SELF_TEST_PRODUCER_GROUP, + SELF_TEST_CONSUMER_GROUP, + ONS_HTTP_PROXY_GROUP, + CID_ONSAPI_PERMISSION_GROUP, + CID_ONSAPI_OWNER_GROUP, + CID_ONSAPI_PULL_GROUP, + CID_SYS_RMQ_TRANS + ); + public static boolean isWindows() { return OS.contains("win"); } @@ -160,6 +178,10 @@ public class MixAll { return consumerGroup.startsWith(CID_RMQ_SYS_PREFIX); } + public static boolean isPredefinedGroup(final String consumerGroup) { + return PREDEFINE_GROUP_SET.contains(consumerGroup); + } + public static String getDLQTopic(final String consumerGroup) { return DLQ_GROUP_TOPIC_PREFIX + consumerGroup; } diff --git a/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java b/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java index 5be99606dc..9afd37f784 100644 --- a/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java +++ b/tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java @@ -128,24 +128,6 @@ import org.apache.rocketmq.tools.command.CommandUtil; public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { private static final String SOCKS_PROXY_JSON = "socksProxyJson"; - private static final Set SYSTEM_GROUP_SET = new HashSet<>(); - - static { - SYSTEM_GROUP_SET.add(MixAll.DEFAULT_CONSUMER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.DEFAULT_PRODUCER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.TOOLS_CONSUMER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.SCHEDULE_CONSUMER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.FILTERSRV_CONSUMER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.MONITOR_CONSUMER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.CLIENT_INNER_PRODUCER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.SELF_TEST_PRODUCER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.SELF_TEST_CONSUMER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.ONS_HTTP_PROXY_GROUP); - SYSTEM_GROUP_SET.add(MixAll.CID_ONSAPI_PERMISSION_GROUP); - SYSTEM_GROUP_SET.add(MixAll.CID_ONSAPI_OWNER_GROUP); - SYSTEM_GROUP_SET.add(MixAll.CID_ONSAPI_PULL_GROUP); - SYSTEM_GROUP_SET.add(MixAll.CID_SYS_RMQ_TRANS); - } private final Logger logger = LoggerFactory.getLogger(DefaultMQAdminExtImpl.class); private final DefaultMQAdminExt defaultMQAdminExt; @@ -1698,7 +1680,7 @@ public class DefaultMQAdminExtImpl implements MQAdminExt, MQAdminExtInner { Iterator> iterator = subscriptionGroupWrapper.getSubscriptionGroupTable().entrySet().iterator(); while (iterator.hasNext()) { Map.Entry configEntry = iterator.next(); - if (MixAll.isSysConsumerGroup(configEntry.getKey()) || SYSTEM_GROUP_SET.contains(configEntry.getKey())) { + if (MixAll.isSysConsumerGroup(configEntry.getKey()) || MixAll.isPredefinedGroup(configEntry.getKey())) { iterator.remove(); } }