zoukankan      html  css  js  c++  java
  • 使用Dubbo的SPI扩展机制实现自定义LoadBalance——方法二 不改源码添加META-INF/dubbo元数据

    一.官网提供的方法

    参考官网

    http://dubbo.apache.org/zh-cn/docs/dev/impls/load-balance.html

    二.方法总结

    在工程中创建类并实现LoadBalance接口

    public class SimpleLoadBalance implements LoadBalance {
        public <T> Invoker<T> select(List<Invoker<T>> invokers, URL url, Invocation invocation) throws RpcException {
            return invokers.get(invokers.size()-1);
        }
    }

    在resources中构建如下目录结构

    在com.alibaba.dubbo.rpc.cluster.LoadBalance文件中配置如下内容,simpleloadbalance就是该负载均衡的名字。

    simpleloadbalance=com.xxx.testdubbo.loadbalance.SimpleLoadBalance

    最终的目录结构

    三.踩过得一些坑

    Dubbo使用的是2.5.10,版本比较老,所以在loadFile时使用的是com.alibaba.xxxx,而官网给的是org.apache.dubbo.xxxx,导致加载不到扩展类。

    所以更改META-INF/dubbo/org.apache.dubbo.rpc.cluster.LoadBalance文件名为META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.LoadBalance

    在使用maven打包时,默认不会把META-INF文件夹编译到classpath中,加上<resource>把resources/下所有文件都输出到classpath

    四.运行调试

     参考 https://www.cnblogs.com/Sicwen/p/10573617.html

  • 相关阅读:
    Ajax的技术与原理探讨
    Ajax技术与原理
    AJAX原理
    vue中ref的一些常见作用
    表的连接查询
    mysql使其支持插入中文数据的办法
    16 散列表-基于除余留数法与线性探测法的实现
    win10上Tensorflow的安装教程
    哨兵/sentinel:在算法设计中的应用
    快速选择算法/Select 寻找第k大的数
  • 原文地址:https://www.cnblogs.com/Sicwen/p/10573099.html
Copyright © 2011-2022 走看看