You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2020/04/03 07:29:44 UTC
[dubbo] branch master updated: register stated url to provider
model,
no matter the provider is configured to delay-published or not (#5757)
This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 5d6ca62 register stated url to provider model, no matter the provider is configured to delay-published or not (#5757)
5d6ca62 is described below
commit 5d6ca6234f64a670fed2f3c5fdc1d0dba74a9c88
Author: Ian Luo <ia...@gmail.com>
AuthorDate: Fri Apr 3 15:29:25 2020 +0800
register stated url to provider model, no matter the provider is configured to delay-published or not (#5757)
---
.../apache/dubbo/registry/integration/RegistryProtocol.java | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
index 3e3eeec..7fec8f8 100644
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
@@ -168,16 +168,17 @@ public class RegistryProtocol implements Protocol {
return overrideListeners;
}
- public void register(URL registryUrl, URL registeredProviderUrl) {
+ private void register(URL registryUrl, URL registeredProviderUrl) {
Registry registry = registryFactory.getRegistry(registryUrl);
registry.register(registeredProviderUrl);
+ }
+ private void registerStatedUrl(URL registryUrl, URL registeredProviderUrl, boolean registered) {
ProviderModel model = ApplicationModel.getProviderModel(registeredProviderUrl.getServiceKey());
model.addStatedUrl(new ProviderModel.RegisterStatedURL(
registeredProviderUrl,
registryUrl,
- true
- ));
+ registered));
}
@Override
@@ -201,12 +202,16 @@ public class RegistryProtocol implements Protocol {
// url to registry
final Registry registry = getRegistry(originInvoker);
final URL registeredProviderUrl = getUrlToRegistry(providerUrl, registryUrl);
+
// decide if we need to delay publish
boolean register = providerUrl.getParameter(REGISTER_KEY, true);
if (register) {
register(registryUrl, registeredProviderUrl);
}
+ // register stated url on provider model
+ registerStatedUrl(registryUrl, registeredProviderUrl, register);
+
// Deprecated! Subscribe to override rules in 2.6.x or before.
registry.subscribe(overrideSubscribeUrl, overrideSubscribeListener);