赞
踩
本文不是介绍在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配置。
dubbo: application: name: lizo-consumer registry: address: zookeeper://localhost:12181 consumer: check: false
经过以上3个步骤,就可以完成对dubbo的配置,是不是很Spring-bootstyle
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; } }
’搬运来源:网易工程师-李周
看到这里的小伙伴,如果你喜欢这篇文章的话,别忘了转发、收藏、留言互动!
最近我新整理了一些Java资料,包含个人精选的Java架构学习视频、大厂实战知识点、大厂内部面试题,如果你需要的话,欢迎私信我!
如果对文章有任何问题,欢迎在留言区和我交流~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。