Skip to content

Commit 4316d91

Browse files
colin-leeareyouok
authored andcommitted
[ISSUE 3585] [Part E] eliminate duplicated getNamespace() call when where is no namespace
1 parent 4daade3 commit 4316d91

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

client/src/main/java/org/apache/rocketmq/client/ClientConfig.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class ClientConfig {
3939
private String instanceName = System.getProperty("rocketmq.client.name", "DEFAULT");
4040
private int clientCallbackExecutorThreads = Runtime.getRuntime().availableProcessors();
4141
protected String namespace;
42+
private boolean namespaceInitialized = false;
4243
protected AccessChannel accessChannel = AccessChannel.LOCAL;
4344

4445
/**
@@ -195,6 +196,7 @@ public String getNamesrvAddr() {
195196
*/
196197
public void setNamesrvAddr(String namesrvAddr) {
197198
this.namesrvAddr = namesrvAddr;
199+
this.namespaceInitialized = false;
198200
}
199201

200202
public int getClientCallbackExecutorThreads() {
@@ -278,20 +280,26 @@ public void setLanguage(LanguageCode language) {
278280
}
279281

280282
public String getNamespace() {
283+
if (namespaceInitialized) {
284+
return namespace;
285+
}
286+
281287
if (StringUtils.isNotEmpty(namespace)) {
282288
return namespace;
283289
}
284290

285291
if (StringUtils.isNotEmpty(this.namesrvAddr)) {
286292
if (NameServerAddressUtils.validateInstanceEndpoint(namesrvAddr)) {
287-
return NameServerAddressUtils.parseInstanceIdFromEndpoint(namesrvAddr);
293+
namespace = NameServerAddressUtils.parseInstanceIdFromEndpoint(namesrvAddr);
288294
}
289295
}
296+
namespaceInitialized = true;
290297
return namespace;
291298
}
292299

293300
public void setNamespace(String namespace) {
294301
this.namespace = namespace;
302+
this.namespaceInitialized = true;
295303
}
296304

297305
public AccessChannel getAccessChannel() {

0 commit comments

Comments
 (0)