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 570f7a49f0e..7bcc6eaca84 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 @@ -303,6 +303,8 @@ public synchronized void init() { initialized = true; + checkInvokerAvailable(); + // dispatch a ReferenceConfigInitializedEvent since 2.7.4 dispatch(new ReferenceConfigInitializedEvent(this, invoker)); } @@ -377,6 +379,14 @@ private T createProxy(Map map) { } } + if (logger.isInfoEnabled()) { + logger.info("Refer dubbo service " + interfaceClass.getName() + " from url " + invoker.getUrl()); + } + // create service proxy + return (T) PROXY_FACTORY.getProxy(invoker, ProtocolUtils.isGeneric(generic)); + } + + private void checkInvokerAvailable() throws IllegalStateException { if (shouldCheck() && !invoker.isAvailable()) { invoker.destroy(); throw new IllegalStateException("Failed to check the status of the service " @@ -390,11 +400,6 @@ private T createProxy(Map map) { + " to the consumer " + NetUtils.getLocalHost() + " use dubbo version " + Version.getVersion()); } - if (logger.isInfoEnabled()) { - logger.info("Refer dubbo service " + interfaceClass.getName() + " from url " + invoker.getUrl()); - } - // create service proxy - return (T) PROXY_FACTORY.getProxy(invoker, ProtocolUtils.isGeneric(generic)); } /**