This is an automated email from the ASF dual-hosted git repository. huangli pushed a commit to branch 4.9.2_dev_community in repository https://gitbox.apache.org/repos/asf/rocketmq.git
commit 2b1955c63be7a83885c534b992b5ca92bde504b0 Author: colin <[email protected]> AuthorDate: Mon Oct 25 16:24:57 2021 +0800 优化消除无意义的getNamespace()调用 --- .../src/main/java/org/apache/rocketmq/client/ClientConfig.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/client/src/main/java/org/apache/rocketmq/client/ClientConfig.java b/client/src/main/java/org/apache/rocketmq/client/ClientConfig.java index 8d7f5a1..4452bbd 100644 --- a/client/src/main/java/org/apache/rocketmq/client/ClientConfig.java +++ b/client/src/main/java/org/apache/rocketmq/client/ClientConfig.java @@ -39,6 +39,7 @@ public class ClientConfig { private String instanceName = System.getProperty("rocketmq.client.name", "DEFAULT"); private int clientCallbackExecutorThreads = Runtime.getRuntime().availableProcessors(); protected String namespace; + private boolean namespaceInitialized = false; protected AccessChannel accessChannel = AccessChannel.LOCAL; /** @@ -195,6 +196,7 @@ public class ClientConfig { */ public void setNamesrvAddr(String namesrvAddr) { this.namesrvAddr = namesrvAddr; + this.namespaceInitialized = false; } public int getClientCallbackExecutorThreads() { @@ -278,20 +280,26 @@ public class ClientConfig { } public String getNamespace() { + if (namespaceInitialized) { + return namespace; + } + if (StringUtils.isNotEmpty(namespace)) { return namespace; } if (StringUtils.isNotEmpty(this.namesrvAddr)) { if (NameServerAddressUtils.validateInstanceEndpoint(namesrvAddr)) { - return NameServerAddressUtils.parseInstanceIdFromEndpoint(namesrvAddr); + namespace = NameServerAddressUtils.parseInstanceIdFromEndpoint(namesrvAddr); } } + namespaceInitialized = true; return namespace; } public void setNamespace(String namespace) { this.namespace = namespace; + this.namespaceInitialized = true; } public AccessChannel getAccessChannel() {
