apache / apache/dubbo

泛化调用时当consumer端服务刚启动时调用某个服务时会报No Provider,后续调用就正常

Open
#9,400 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
41.6k
Forks
26.4k
Avg merge
15h 13m
Merged PRs (30d)
4

Description

ApplicationConfig application = new ApplicationConfig();
application.setName(this.applictionName);
RegistryConfig registry = new RegistryConfig();
registry.setAddress(this.registryAddress);
application.setRegistry(registry);

ReferenceConfig reference = new ReferenceConfig();

reference.setInterface(context.getInterfaceName());
reference.setVersion(context.getVersion());
reference.setGroup(context.getGroup());
reference.setGeneric(true);
reference.setApplication(application);
reference.setRetries(0);
if (null != context.getInterfaceTimeout()) {
reference.setTimeout(Integer.valueOf(context.getInterfaceTimeout().toString()));
}

// GenericService genericService = reference.get();
GenericService genericService = null;
ReferenceConfigCache referenceConfigCache = ReferenceConfigCache.getCache();
try {
genericService = referenceConfigCache.get(reference);
if (Objects.isNull(genericService)) {
referenceConfigCache.destroy(reference);
logger.error("dubbo genericService has exception!");
}
} catch (Exception e) {
referenceConfigCache.destroy(reference);
logger.error("dubbo genericService destroy has exception!");
}
dubbo 泛化调用时当consumer端服务刚启动时调用某个服务时会报No Provider,注册中心用的是zk。但是一般第二次调用就正常了。
provider端的服务一直都是正常的并且一直在线的。

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.