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

  • 相关阅读:
    ehcache如何判断缓存数据是否存在--isKeyInCache
    ehcache 缓存监控
    XSS跨站脚本攻击
    java根据文件头判断文件类型
    Spring Security使用Authentication获取当前用户信息
    HttpSessionListener的用法
    ehcache缓存配置与参数说明
    [CERC2017]Buffalo Barricades
    [POI2001]Gra绿色游戏
    移动游戏By HYJ
  • 原文地址:https://www.cnblogs.com/Sicwen/p/10573099.html
Copyright © 2011-2022 走看看