Skip to content

Commit eda947a

Browse files
authored
[#5297] Only one of the multiple registration centers using nacos can register (#5756)
* Polish /#5745 : Increasing the stack size in the start.sh * Polish /#5297 : Only one of the multiple registration centers using nacos can register
1 parent f4af3de commit eda947a

File tree

5 files changed

+22
-5
lines changed

5 files changed

+22
-5
lines changed

dubbo-common/src/main/java/org/apache/dubbo/config/RegistryConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ public void setAddress(String address) {
213213
URL url = URL.valueOf(address);
214214
setUsername(url.getUsername());
215215
setPassword(url.getPassword());
216-
updateIdIfAbsent(url.getProtocol());
216+
// updateIdIfAbsent(url.getProtocol());
217217
updateProtocolIfAbsent(url.getProtocol());
218218
updatePortIfAbsent(url.getPort());
219219
updateParameters(url.getParameters());

dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/config/DubboConfigDefaultPropertyValueBeanPostProcessor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.springframework.beans.factory.support.RootBeanDefinition;
2727
import org.springframework.context.annotation.CommonAnnotationBeanPostProcessor;
2828
import org.springframework.core.Ordered;
29+
import org.springframework.core.PriorityOrdered;
2930

3031
import javax.annotation.PostConstruct;
3132
import java.beans.PropertyDescriptor;
@@ -43,7 +44,7 @@
4344
* @since 2.7.6
4445
*/
4546
public class DubboConfigDefaultPropertyValueBeanPostProcessor extends GenericBeanPostProcessorAdapter<AbstractConfig>
46-
implements MergedBeanDefinitionPostProcessor, Ordered {
47+
implements MergedBeanDefinitionPostProcessor, PriorityOrdered {
4748

4849
/**
4950
* The bean name of {@link DubboConfigDefaultPropertyValueBeanPostProcessor}

dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/EnableDubboConfigTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public void testSingle() {
8282
Assertions.assertEquals("netty", consumerConfig.getClient());
8383

8484
// asserts aliases
85-
assertTrue(hasAlias(context, "org.apache.dubbo.config.RegistryConfig#0", "zookeeper"));
85+
assertFalse(hasAlias(context, "org.apache.dubbo.config.RegistryConfig#0", "zookeeper"));
8686
assertFalse(hasAlias(context, "org.apache.dubbo.config.MonitorConfig#0", "zookeeper"));
8787
}
8888

dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/support/AbstractRegistryFactory.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public Registry getRegistry(URL url) {
109109
.addParameter(INTERFACE_KEY, RegistryService.class.getName())
110110
.removeParameters(EXPORT_KEY, REFER_KEY)
111111
.build();
112-
String key = url.toServiceStringWithoutResolving();
112+
String key = createRegistryCacheKey(url);
113113
// Lock the registry access process to ensure a single instance of the registry
114114
LOCK.lock();
115115
try {
@@ -130,6 +130,17 @@ public Registry getRegistry(URL url) {
130130
}
131131
}
132132

133+
/**
134+
* Create the key for the registries cache.
135+
* This method may be override by the sub-class.
136+
*
137+
* @param url the registration {@link URL url}
138+
* @return non-null
139+
*/
140+
protected String createRegistryCacheKey(URL url) {
141+
return url.toServiceStringWithoutResolving();
142+
}
143+
133144
protected abstract Registry createRegistry(URL url);
134145

135146

@@ -175,7 +186,7 @@ public List<URL> lookup(URL url) {
175186
}
176187
};
177188

178-
public static void removeDestroyedRegistry(Registry toRm){
189+
public static void removeDestroyedRegistry(Registry toRm) {
179190
LOCK.lock();
180191
try {
181192
REGISTRIES.entrySet().removeIf(entry -> entry.getValue().equals(toRm));

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030
*/
3131
public class NacosRegistryFactory extends AbstractRegistryFactory {
3232

33+
@Override
34+
protected String createRegistryCacheKey(URL url) {
35+
return url.toFullString();
36+
}
37+
3338
@Override
3439
protected Registry createRegistry(URL url) {
3540
return new NacosRegistry(url, createNamingService(url));

0 commit comments

Comments
 (0)