You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by hu...@apache.org on 2021/12/01 10:37:59 UTC
[rocketmq] 08/11: 优化消除无意义的getNamespace()调用
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 <39...@qq.com>
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() {