当前位置:   article > 正文

dubbo yml配置_只要3步,这工具帮你轻松整合Springboot和Dubbo

yaml如何配置dubbo

前言

本文不是介绍在Spring-boot下使用duboo服务,而是介绍如何使用一个spring-boot和dubbo整合起来的小工具(jar包)。

最近整理了一些Java架构学习视频和大厂项目底层知识点,需要的同学欢迎私信我【Java】发给你~

为什么要写这个小工具

如果你用过Spring-boot来提供dubbo服务,相信使用中有很多“不爽”的地方。既然使用spring boot,那么能用注解的地方绝不用xml配置,这才是spring-boot-style。

开个玩笑,真正意思是,spring-boot适合一些简单的、独立的服务,一个大的系统是不适合使用spring-boot来开发。相反,spring-boot适合那些简单服务的搭建。 网上大多数的方法还是使用xml配置,通过@Import注解来引入xml配置。

7ab3d3b8a0d7b332fb8f34d3ba70cfd4.png

怎么使用

  1. 对于服务的消费者或提供者,使用dubbo内置的注解@Service或@Reference来声明
  2. 在application.properties/yml 中配置dubbo的相关参数,例如下面就是一个简单的消费者的配置
dubbo:    application:        name: lizo-consumer    registry:        address: zookeeper://localhost:12181    consumer:        check: false
  1. 在配置类上使用@EnableDubbo(basePackages = "xxx.xxx.xxx") 来开启dubbo的自动配置

经过以上3个步骤,就可以完成对dubbo的配置,是不是很Spring-bootstyle

dubbo-filter

dubbo有很多扩展,其中filter是使用比较多一个。但是用起来很不方便。如果能像Spring boot定义Spring MVC的filter那样简单声明一个bean就好了。恩,其实就是这样。

    @Bean    ProviderFilter providerFilter() {        return new ProviderFilter();    }         // 服务提供者Filter    static class ProviderFilter extends AbstractDubboProviderFilterSupport {        public Result invoke(Invoker> invoker, Invocation invocation) {            System.out.println("ProviderFilter");            return invoker.invoke(invocation);        }    }

更定制化的需求,可以使用Dubbo的@Activate注解来定制化Filter,那么可以这样

    @Bean    CustomFilter customFilter() {        return new CustomFilter();    }         //@Activate 使用可以参考dubbo官方文档    @Activate(group = Constants.PROVIDER)     static class CustomFilter extends AbstractDubboFilterSupport {        public Result invoke(Invoker> invoker, Invocation invocation) throws RpcException {            System.out.println("ProviderFilter2");            return invoker.invoke(invocation);        }        public Filter getDefaultExtension() {            return this;        }    }

最后说明

  • dubbo底层代码是没进行开发过的,只是在其基础上进行的封装。
  • 不支持多注册源
  • 有bug或者有代码优化建议欢迎反馈
  • github: https://github.com/Athlizo/spring-dubbo-parent 欢迎star

’搬运来源:网易工程师-李周

看到这里的小伙伴,如果你喜欢这篇文章的话,别忘了转发、收藏、留言互动!

最近我新整理了一些Java资料,包含个人精选的Java架构学习视频、大厂实战知识点、大厂内部面试题,如果你需要的话,欢迎私信我

如果对文章有任何问题,欢迎在留言区和我交流~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/166050
推荐阅读
相关标签
  

闽ICP备14008679号