Skip to content

同一个dubbo服务一个微服务内多个类引用时,有些类的此dubbo服务reference注解属性不起作用 #4470

@jufeng98

Description

@jufeng98
  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

  • Dubbo version: 2.6.2
  • Operating System version:Windows10
  • Java version: 1.8

Steps to reproduce this issue

  1. 同一个微服务多个类引用同样的dubbo服务
  2. 每个类的reference除了version和group一样之外,其它属性均有不一样的配置
  3. 项目运行起来后有些类的此dubbo服务reference注解属性不起作用

我看了源码,是这里的问题:
/**
* Generate a cache key of {@link ReferenceBean}
*
* @param reference {@link Reference}
* @param beanClass {@link Class}
* @return
*/
private String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {

    String interfaceName = resolveInterfaceName(reference, beanClass);

    String key = reference.url() + "/" + interfaceName +
            "/" + reference.version() +
            "/" + reference.group();

    Environment environment = applicationContext.getEnvironment();

    key = environment.resolvePlaceholders(key);

    return key;

}

这里会缓存dubbo service,但是key应该由所有reference属性组成才对

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions