mirror of
https://gitee.com/mirrors/Spring-Cloud-Alibaba.git
synced 2021-06-26 13:25:11 +08:00
Merge pull request #1428 from CodingSinger/FIX_REGISTRY
fix the issue SpringCloudRegistryFactory always create registry instance
This commit is contained in:
commit
a1c140ba8a
@ -23,6 +23,7 @@ import com.alibaba.cloud.dubbo.util.JSONUtils;
|
|||||||
import org.apache.dubbo.common.URL;
|
import org.apache.dubbo.common.URL;
|
||||||
import org.apache.dubbo.registry.Registry;
|
import org.apache.dubbo.registry.Registry;
|
||||||
import org.apache.dubbo.registry.RegistryFactory;
|
import org.apache.dubbo.registry.RegistryFactory;
|
||||||
|
import org.apache.dubbo.registry.support.AbstractRegistryFactory;
|
||||||
|
|
||||||
import org.springframework.cloud.client.discovery.DiscoveryClient;
|
import org.springframework.cloud.client.discovery.DiscoveryClient;
|
||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
@ -37,7 +38,7 @@ import static java.lang.System.getProperty;
|
|||||||
* @see RegistryFactory
|
* @see RegistryFactory
|
||||||
* @see SpringCloudRegistry
|
* @see SpringCloudRegistry
|
||||||
*/
|
*/
|
||||||
public class SpringCloudRegistryFactory implements RegistryFactory {
|
public class SpringCloudRegistryFactory extends AbstractRegistryFactory {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Spring Cloud Protocol.
|
* Spring Cloud Protocol.
|
||||||
@ -65,8 +66,6 @@ public class SpringCloudRegistryFactory implements RegistryFactory {
|
|||||||
|
|
||||||
private DubboGenericServiceFactory dubboGenericServiceFactory;
|
private DubboGenericServiceFactory dubboGenericServiceFactory;
|
||||||
|
|
||||||
private volatile boolean initialized = false;
|
|
||||||
|
|
||||||
public SpringCloudRegistryFactory() {
|
public SpringCloudRegistryFactory() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,9 +75,6 @@ public class SpringCloudRegistryFactory implements RegistryFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void init() {
|
protected void init() {
|
||||||
if (initialized || applicationContext == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.discoveryClient = applicationContext.getBean(DiscoveryClient.class);
|
this.discoveryClient = applicationContext.getBean(DiscoveryClient.class);
|
||||||
this.dubboServiceMetadataRepository = applicationContext
|
this.dubboServiceMetadataRepository = applicationContext
|
||||||
.getBean(DubboServiceMetadataRepository.class);
|
.getBean(DubboServiceMetadataRepository.class);
|
||||||
@ -90,7 +86,7 @@ public class SpringCloudRegistryFactory implements RegistryFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Registry getRegistry(URL url) {
|
public Registry createRegistry(URL url) {
|
||||||
init();
|
init();
|
||||||
return new SpringCloudRegistry(url, discoveryClient,
|
return new SpringCloudRegistry(url, discoveryClient,
|
||||||
dubboServiceMetadataRepository, dubboMetadataConfigServiceProxy,
|
dubboServiceMetadataRepository, dubboMetadataConfigServiceProxy,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user