diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java index d265399bef2f..f07c991bb4ba 100644 --- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java +++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java @@ -254,7 +254,6 @@ private void init() { if (initialized) { return; } - initialized = true; checkStubAndLocal(interfaceClass); checkMock(interfaceClass); Map map = new HashMap(); @@ -306,6 +305,7 @@ private void init() { String serviceKey = URL.buildKey(interfaceName, group, version); ApplicationModel.initConsumerModel(serviceKey, buildConsumerModel(serviceKey, attributes)); + initialized = true; } private ConsumerModel buildConsumerModel(String serviceKey, Map attributes) { @@ -385,8 +385,6 @@ private T createProxy(Map map) { } if (shouldCheck() && !invoker.isAvailable()) { - // make it possible for consumer to retry later if provider is temporarily unavailable - initialized = false; throw new IllegalStateException("Failed to check the status of the service " + interfaceName + ". No provider available for the service " + (group == null ? "" : group + "/") + interfaceName + (version == null ? "" : ":" + version) + " from the url " + invoker.getUrl() + " to the consumer " + NetUtils.getLocalHost() + " use dubbo version " + Version.getVersion()); } if (logger.isInfoEnabled()) {