@@ -39,6 +39,7 @@ public class ClientConfig {
39
39
private String instanceName = System .getProperty ("rocketmq.client.name" , "DEFAULT" );
40
40
private int clientCallbackExecutorThreads = Runtime .getRuntime ().availableProcessors ();
41
41
protected String namespace ;
42
+ private boolean namespaceInitialized = false ;
42
43
protected AccessChannel accessChannel = AccessChannel .LOCAL ;
43
44
44
45
/**
@@ -195,6 +196,7 @@ public String getNamesrvAddr() {
195
196
*/
196
197
public void setNamesrvAddr (String namesrvAddr ) {
197
198
this .namesrvAddr = namesrvAddr ;
199
+ this .namespaceInitialized = false ;
198
200
}
199
201
200
202
public int getClientCallbackExecutorThreads () {
@@ -278,20 +280,26 @@ public void setLanguage(LanguageCode language) {
278
280
}
279
281
280
282
public String getNamespace () {
283
+ if (namespaceInitialized ) {
284
+ return namespace ;
285
+ }
286
+
281
287
if (StringUtils .isNotEmpty (namespace )) {
282
288
return namespace ;
283
289
}
284
290
285
291
if (StringUtils .isNotEmpty (this .namesrvAddr )) {
286
292
if (NameServerAddressUtils .validateInstanceEndpoint (namesrvAddr )) {
287
- return NameServerAddressUtils .parseInstanceIdFromEndpoint (namesrvAddr );
293
+ namespace = NameServerAddressUtils .parseInstanceIdFromEndpoint (namesrvAddr );
288
294
}
289
295
}
296
+ namespaceInitialized = true ;
290
297
return namespace ;
291
298
}
292
299
293
300
public void setNamespace (String namespace ) {
294
301
this .namespace = namespace ;
302
+ this .namespaceInitialized = true ;
295
303
}
296
304
297
305
public AccessChannel getAccessChannel () {
0 commit comments