Dubbo服务调用动态选择版本

来源:互联网 发布:windows窗口程序 编辑:程序博客网 时间:2024/05/29 12:33

公司做手机app的,使用dubbo,发布阶段存在着服务端新旧版本共存的情况,以前都是多写接口,接口名称加上版本号,看着low,维护也麻烦。后来想到是不是可以动态选择版本,然后就上网搜了一下,果然,没有什么结果,只找到一个Dubbo服务调用动态选择版本其他没有资料啊,没有资料,看了下这篇文章,很符合我们的需求,就down下来按照他的实现方式进行实现,最后,哎嘿,终于是没有成功,比较之后发现他的dubbo-provider和dubbo-consumer配置文件里面有“xmlns:dubbo="http://telecom.com/schema/dubbo"和“http://telecom.com/schema/dubbo/dubbo.xsd发现这是作者自定义的xml解析文件,所以我就去dubbo的源码里面拷出来修改一下


里面的内容分别是

dubbo.xsd

<?xml version="1.0" encoding="UTF-8" standalone="no"?><xsd:schema xmlns="http://code.alibabatech.com/schema/dubbo/demo"xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:beans="http://www.springframework.org/schema/beans"xmlns:tool="http://www.springframework.org/schema/tool"targetNamespace="http://code.alibabatech.com/schema/dubbo/demo">略............跟dubbo的源码一样</xsd:schema>

spring.handlers

http\://code.alibabatech.com/schema/dubbo/demo=com.alibaba.dubbo.demo.versionDesider.DubboNamespaceHandler


spring.schemas

http\://code.alibabatech.com/schema/dubbo/demo/dubbo.xsd=META-INF/dubbo.xsd
意思就是指定到自己定义的ReferenceBean,最后在dubbo-provider和dubbo-consumer配置文件里面

xmlns:dubbo="http://code.alibabatech.com/schema/dubbo/demo

和xsi:schemaLocation="略

http://code.alibabatech.com/schema/dubbo/demo 
http://code.alibabatech.com/schema/dubbo/demo/dubbo.xsd“
ok!再次执行,终于到了我想要的VersionDesider里面进行选择指定provider方法版本。

再次感谢Dubbo服务调用动态选择版本的作者!

0 0
原创粉丝点击