[ISSUE 3585] [Part E] eliminate duplicated getNamespace() call when where is no namespace (#3591)

Co-authored-by: colin <39513055@qq.com>
This commit is contained in:
huangli
2021-12-11 09:22:22 +08:00
committed by GitHub
co-authored by colin
parent 1635856fea
commit 67225fdabe
@@ -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() {