使用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
使用Dubbo的SPI扩展机制实现自定义LoadBalance——方法二 不改源码添加META-INF/dubbo元数据的更多相关文章
- 使用Dubbo的SPI扩展机制实现自定义LoadBalance——方法一  修改Dubbo源代码
		
一. 拉取源码 到Dubbo官网 https://github.com/apache/incubator-dubbo/tree/2.5.x 下载源码,解压. 二. 导入IDEA 选择解压后的源码目录, ...
 - Dubbo中SPI扩展机制解析
		
dubbo的SPI机制类似与Java的SPI,Java的SPI会一次性的实例化所有扩展点的实现,有点显得浪费资源. dubbo的扩展机制可以方便的获取某一个想要的扩展实现,每个实现都有自己的name, ...
 - 源码分析 Sentinel 之 Dubbo 适配原理
		
目录 1.源码分析 SentinelDubboConsumerFilter 2.源码分析 SentienlDubboProviderFilters 3.Sentienl Dubbo FallBack ...
 - 【转】Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
		
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9153761 记得在前面的文章中,我带大家一起从源码的角度分析了Android中Vi ...
 - Android事件分发机制浅谈(二)--源码分析(ViewGroup篇)
		
上节我们大致了解了事件分发机制的内容,大概流程,这一节来分析下事件分发的源代码. 我们先来分析ViewGroup中dispatchTouchEvent()中的源码 public boolean dis ...
 - [转]Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
		
Android事件分发机制 该篇文章出处:http://blog.csdn.net/guolin_blog/article/details/9097463 其实我一直准备写一篇关于Android事件分 ...
 - Volley源码解析(三) 有缓存机制的情况走缓存请求的源码分析
		
Volley源码解析(三) 有缓存机制的情况走缓存请求的源码分析 Volley之所以高效好用,一个在于请求重试策略,一个就在于请求结果缓存. 通过上一篇文章http://www.cnblogs.com ...
 - 理解 Dubbo SPI 扩展机制
		
写在前面 最近接触了 gRPC 体会到虽然众多 RPC 框架各有各的特点但是他们提供的特性和功能有很多的相似之处 , 这就说明他们面对同样的分布式系统带来的问题.从 2016 年左右开始接触到 dub ...
 - [转] 理解 Dubbo SPI 扩展机制
		
写在前面 最近接触了 gRPC 体会到虽然众多 RPC 框架各有各的特点但是他们提供的特性和功能有很多的相似之处 , 这就说明他们面对同样的分布式系统带来的问题.从 2016 年左右开始接触到 dub ...
 
随机推荐
- 转:spring boot log4j2配置(使用log4j2.yml文件)---YAML 语言教程
			
转:spring boot log4j2配置(使用log4j2.yml文件) - CSDN博客http://blog.csdn.net/ClementAD/article/details/514988 ...
 - make: 警告:检测到时钟错误。您的创建可能是不完整的。
			
问题: make: 警告:检测到时钟错误.您的创建可能是不完整的. 原因:1. 文件时间不一致.(或者修改了系统时间) 如何解决:你touch *一下,然后重新编译 touch * touch命令有两 ...
 - 3D Slicer中文教程(二)—软件功能界面介绍
			
1.界面介绍 2.菜单及工具栏介绍 (1)菜单 File-文件菜单 文件菜单包含用于加载MRML场景的选项,用于从互联网下载样本数据集或各种类型的各个数据集.此处还提供了保存场景和数据的选项. Edi ...
 - VOC2012数据集注解
			
VOC2012官网介绍:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html 分割部分:参考博客:https://blog.csdn.ne ...
 - Prisma  GraphQL  服务器 生产者  "https://www.prisma.io"
			
Prisma 一个 GraphQL 服务器 生产者 "https://www.prisma.io" , 关注一下
 - nginx+tomcat:动静分离+https
			
nginx server { listen 80; server_name 192.168.0.103; # http访问重写为https rewrite ^ https:/$http_host$re ...
 - 使用DBMS_SHARED_POOL包将对象固定到共享池
			
使用DBMS_SHARED_POOL包将对象固定到共享池2011年06月24日 09:45:00 Leshami 阅读数:5808 版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处. htt ...
 - 新建的亚马逊云服务器EC2 ping 不通 解决方案
			
在EC2配置安全组里面新加一条规则
 - linuxDNS
			
getenforce 查询状态 setenforce 0 临时关闭 永久关闭vim /etc/selinux/configlinux配置文件内容SELINUC=disabled关闭重启系统生效 ...
 - svn忽略不需要同步的文件夹或文件
			
如果某个文件已经提交到了svn,这个时候需要通过svn来把服务器上的改文件删除,然后再在本地,点击该文件 选择把该文件删除,recursively表示递归删除(文件下->下级文件夹->下级 ...