Skip to content

Commit 8321c8f

Browse files
uglycowralf0131
authored andcommitted
fix for #4111 do not ignore empty value when we construct servicename (#4112)
1 parent 779fc27 commit 8321c8f

File tree

1 file changed

+11
-11
lines changed
  • dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos

1 file changed

+11
-11
lines changed

dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosRegistry.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -278,19 +278,19 @@ private void filterServiceNames(List<String> serviceNames, URL url) {
278278

279279
final String targetServiceInterface = url.getServiceInterface();
280280

281-
final String targetVersion = url.getParameter(VERSION_KEY);
281+
final String targetVersion = url.getParameter(VERSION_KEY,"");
282282

283-
final String targetGroup = url.getParameter(GROUP_KEY);
283+
final String targetGroup = url.getParameter(GROUP_KEY,"");
284284

285285
filterData(serviceNames, serviceName -> {
286286
// split service name to segments
287287
// (required) segments[0] = category
288288
// (required) segments[1] = serviceInterface
289-
// (required) segments[2] = version
289+
// (optional) segments[2] = version
290290
// (optional) segments[3] = group
291291
String[] segments = StringUtils.split(serviceName, SERVICE_NAME_SEPARATOR);
292292
int length = segments.length;
293-
if (length < 3) { // must present 3 segments or more
293+
if (length != 4) { // must present 4 segments
294294
return false;
295295
}
296296

@@ -311,8 +311,7 @@ private void filterServiceNames(List<String> serviceNames, URL url) {
311311
return false;
312312
}
313313

314-
String group = length > 3 ? segments[SERVICE_GROUP_INDEX] : null;
315-
// no match service group
314+
String group = segments[SERVICE_GROUP_INDEX];
316315
return group == null || WILDCARD.equals(targetGroup)
317316
|| StringUtils.equals(targetGroup, group);
318317
});
@@ -420,16 +419,17 @@ private String getServiceName(URL url) {
420419

421420
private String getServiceName(URL url, String category) {
422421
StringBuilder serviceNameBuilder = new StringBuilder(category);
423-
appendIfPresent(serviceNameBuilder, url, INTERFACE_KEY);
424-
appendIfPresent(serviceNameBuilder, url, VERSION_KEY);
425-
appendIfPresent(serviceNameBuilder, url, GROUP_KEY);
422+
append(serviceNameBuilder, url, INTERFACE_KEY);
423+
append(serviceNameBuilder, url, VERSION_KEY);
424+
append(serviceNameBuilder, url, GROUP_KEY);
426425
return serviceNameBuilder.toString();
427426
}
428427

429-
private void appendIfPresent(StringBuilder target, URL url, String parameterName) {
428+
private void append(StringBuilder target, URL url, String parameterName) {
429+
target.append(SERVICE_NAME_SEPARATOR);
430430
String parameterValue = url.getParameter(parameterName);
431431
if (!StringUtils.isBlank(parameterValue)) {
432-
target.append(SERVICE_NAME_SEPARATOR).append(parameterValue);
432+
target.append(parameterValue);
433433
}
434434
}
435435

0 commit comments

Comments
 (0)