Support disable 2.6.x url configurators (#12332)
This commit is contained in:
parent
865e683848
commit
6777c073a1
|
|
@ -109,6 +109,8 @@ public interface Constants {
|
|||
|
||||
String MIGRATION_THRESHOLD_KEY = "migration.threshold";
|
||||
|
||||
String ENABLE_26X_CONFIGURATION_LISTEN = "enable-26x-configuration-listen";
|
||||
|
||||
String ENABLE_CONFIGURATION_LISTEN = "enable-configuration-listen";
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ import static org.apache.dubbo.common.constants.RegistryConstants.PROVIDERS_CATE
|
|||
import static org.apache.dubbo.common.constants.RegistryConstants.ROUTERS_CATEGORY;
|
||||
import static org.apache.dubbo.common.constants.RegistryConstants.ROUTE_PROTOCOL;
|
||||
import static org.apache.dubbo.registry.Constants.CONFIGURATORS_SUFFIX;
|
||||
import static org.apache.dubbo.registry.Constants.ENABLE_26X_CONFIGURATION_LISTEN;
|
||||
import static org.apache.dubbo.rpc.Constants.MOCK_KEY;
|
||||
import static org.apache.dubbo.rpc.cluster.Constants.ROUTER_KEY;
|
||||
import static org.apache.dubbo.rpc.model.ScopeModelUtil.getModuleModel;
|
||||
|
|
@ -170,11 +171,13 @@ public class RegistryDirectory<T> extends DynamicDirectory<T> {
|
|||
.filter(this::isNotCompatibleFor26x)
|
||||
.collect(Collectors.groupingBy(this::judgeCategory));
|
||||
|
||||
List<URL> configuratorURLs = categoryUrls.getOrDefault(CONFIGURATORS_CATEGORY, Collections.emptyList());
|
||||
this.configurators = Configurator.toConfigurators(configuratorURLs).orElse(this.configurators);
|
||||
if (moduleModel.getModelEnvironment().getConfiguration().convert(Boolean.class, ENABLE_26X_CONFIGURATION_LISTEN, true)) {
|
||||
List<URL> configuratorURLs = categoryUrls.getOrDefault(CONFIGURATORS_CATEGORY, Collections.emptyList());
|
||||
this.configurators = Configurator.toConfigurators(configuratorURLs).orElse(this.configurators);
|
||||
|
||||
List<URL> routerURLs = categoryUrls.getOrDefault(ROUTERS_CATEGORY, Collections.emptyList());
|
||||
toRouters(routerURLs).ifPresent(this::addRouters);
|
||||
List<URL> routerURLs = categoryUrls.getOrDefault(ROUTERS_CATEGORY, Collections.emptyList());
|
||||
toRouters(routerURLs).ifPresent(this::addRouters);
|
||||
}
|
||||
|
||||
// providers
|
||||
List<URL> providerURLs = categoryUrls.getOrDefault(PROVIDERS_CATEGORY, Collections.emptyList());
|
||||
|
|
|
|||
|
|
@ -117,6 +117,7 @@ import static org.apache.dubbo.common.utils.StringUtils.isEmpty;
|
|||
import static org.apache.dubbo.common.utils.UrlUtils.classifyUrls;
|
||||
import static org.apache.dubbo.registry.Constants.CONFIGURATORS_SUFFIX;
|
||||
import static org.apache.dubbo.registry.Constants.DEFAULT_REGISTRY_RETRY_PERIOD;
|
||||
import static org.apache.dubbo.registry.Constants.ENABLE_26X_CONFIGURATION_LISTEN;
|
||||
import static org.apache.dubbo.registry.Constants.ENABLE_CONFIGURATION_LISTEN;
|
||||
import static org.apache.dubbo.registry.Constants.PROVIDER_PROTOCOL;
|
||||
import static org.apache.dubbo.registry.Constants.REGISTER_IP_KEY;
|
||||
|
|
@ -272,9 +273,12 @@ public class RegistryProtocol implements Protocol, ScopeModelAware {
|
|||
exporter.setSubscribeUrl(overrideSubscribeUrl);
|
||||
exporter.setNotifyListener(overrideSubscribeListener);
|
||||
|
||||
if (!registry.isServiceDiscovery()) {
|
||||
// Deprecated! Subscribe to override rules in 2.6.x or before.
|
||||
registry.subscribe(overrideSubscribeUrl, overrideSubscribeListener);
|
||||
ApplicationModel applicationModel = getApplicationModel(providerUrl.getScopeModel());
|
||||
if (applicationModel.getModelEnvironment().getConfiguration().convert(Boolean.class, ENABLE_26X_CONFIGURATION_LISTEN, true)) {
|
||||
if (!registry.isServiceDiscovery()) {
|
||||
// Deprecated! Subscribe to override rules in 2.6.x or before.
|
||||
registry.subscribe(overrideSubscribeUrl, overrideSubscribeListener);
|
||||
}
|
||||
}
|
||||
|
||||
notifyExport(exporter);
|
||||
|
|
@ -954,10 +958,12 @@ public class RegistryProtocol implements Protocol, ScopeModelAware {
|
|||
Set<NotifyListener> listeners = overrideListeners.get(subscribeUrl);
|
||||
if (listeners != null) {
|
||||
if (listeners.remove(notifyListener)) {
|
||||
if (!registry.isServiceDiscovery()) {
|
||||
registry.unsubscribe(subscribeUrl, notifyListener);
|
||||
}
|
||||
ApplicationModel applicationModel = getApplicationModel(registerUrl.getScopeModel());
|
||||
if (applicationModel.getModelEnvironment().getConfiguration().convert(Boolean.class, ENABLE_26X_CONFIGURATION_LISTEN, true)) {
|
||||
if (!registry.isServiceDiscovery()) {
|
||||
registry.unsubscribe(subscribeUrl, notifyListener);
|
||||
}
|
||||
}
|
||||
if (applicationModel.getModelEnvironment().getConfiguration().convert(Boolean.class, ENABLE_CONFIGURATION_LISTEN, true)) {
|
||||
for (ModuleModel moduleModel : applicationModel.getPubModuleModels()) {
|
||||
if (moduleModel.getServiceRepository().getExportedServices().size() > 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue