Skip to content

一般错误级别:指定点对点直连地址的消费者,配置无法继承提供者 #2828

@gMan1990

Description

@gMan1990

https://github.com/apache/incubator-dubbo/blob/46b3458564cd0387d50f26f566556917cb74b999/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java#L329

if (url != null && url.length() > 0) { // user specified URL, could be peer-to-peer address, or register center's address.
    String[] us = Constants.SEMICOLON_SPLIT_PATTERN.split(url);
    if (us != null && us.length > 0) {
        for (String u : us) {
            URL url = URL.valueOf(u);
            if (url.getPath() == null || url.getPath().length() == 0) {
                url = url.setPath(interfaceName);
            }
            if (Constants.REGISTRY_PROTOCOL.equals(url.getProtocol())) {
                urls.add(url.addParameterAndEncoded(Constants.REFER_KEY, StringUtils.toQueryString(map)));
            } else {
                urls.add(ClusterUtils.mergeUrl(url, map));
            }
        }
    }
} else { // assemble URL from register center's configuration

比如提供者配置了serialization=kryo,然后消费者使用直连:
@Reference(url = "dubbo://127.0.0.1:20880")
根据这段代码,消费者还是使用serialization默认的hessian2
如果是不配置走到assemble URL from register center's configuration里就能继承提供者的配置

update: 可以添加自定义参数解决

    <dubbo:consumer>
        <dubbo:parameter key="serialization" value="kryo" />
    </dubbo:consumer>

  1. 另一个问题: 这里日志感觉打印重复了。
    https://github.com/apache/incubator-dubbo/blob/88037747a3b69d3225c73f6fbcda36ebd8435887/dubbo-plugin/dubbo-qos/src/main/java/com/alibaba/dubbo/qos/server/Server.java#L102
    https://github.com/apache/incubator-dubbo/blob/88037747a3b69d3225c73f6fbcda36ebd8435887/dubbo-plugin/dubbo-qos/src/main/java/com/alibaba/dubbo/qos/protocol/QosProtocolWrapper.java#L101
  2. 另一个问题: 我看dubbo-2.6.4.jar 的/META-INF/dubbo/internal里的文件内容都重复了3次

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions