欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

dubbo 2.7.0 中缺乏 的解决方案

程序员文章站 2022-07-11 09:41:01
一、背景  从 dubbo 2.6.5 升级到 2.7.0,突然发现好多地方不能用了,dubbo:annotation 直接报红,原先的 @Service 和 @Reference 中直接报了过时,源码里面也没有告知替代的类,真是耍流氓。。 二、dubbo 2.7.0 介绍  D ......

一、背景

 从 dubbo 2.6.5 升级到 2.7.0,突然发现好多地方不能用了,dubbo:annotation 直接报红,原先的 @service 和 @reference 中直接报了过时,源码里面也没有告知替代的类,真是耍流氓。。

二、dubbo 2.7.0 介绍

 dubbo 2.7.0 添加了异步化支持。异步化支持不再局限于基于 future 接口的异步,也不再仅仅局限于只能在客户端异步。具体来说,dubbo 2.7.0 版本全面拥抱 jdk8,在客户端开始支持基于 completablefuture 的异步编程范式,在服务端支持基于 asynccontext 的异步模型。

 dubbo 2.7.0 中,通过对 url 的改造,将注册中心拆分成了三个中心,分别是注册中心、配置中心和元数据中心,三者各司其责,不仅有效地解决了上述容量问题,而且很好地适应了微服务的技术架构,用户可以开始*选择适合自己场景的注册中心和配置中心。

 dubbo 2.7.0 版本在改造的过程中遵循了一个原则,即保持与低版本的兼容性,因此从功能层面来说它是与2.6.x及更低版本完全兼容的。

 官方 dubbo 2.7.0 的说明文档:

三、解决方案

  1. @service 和 @reference 中过时:package重命名 com.alibaba.dubbo -> org.apache.dubbo
  2. dubbo:annotation 失效:改掉xml 的命名空间
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
       xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
       http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">

    <!-- dubbo 配置 -->
    <dubbo:application name="ts_provider_common"/>
    <dubbo:registry address="${zookeeper.host}" simplified="true"/>
    <dubbo:protocol name="dubbo" port="-1"/>
    <dubbo:provider timeout="3000" retries="0"/>
    <dubbo:consumer check="false"/>
    <dubbo:annotation package="com.demo"/>
</beans>