温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用spring-boot如何实现整合dubbo中的Spring-boot-dubbo-starter

发布时间:2020-11-19 16:16:19 来源:亿速云 阅读:168 作者:Leah 栏目:编程语言

使用spring-boot如何实现整合dubbo中的Spring-boot-dubbo-starter?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

在application.properties/yml 中配置dubbo的相关参数,例如下面就是一个简单的消费者的配置

dubbo:
 application:
  name: lizo-consumer
 registry:
  address: zookeeper://localhost:12181

在配置类上使用@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();
 }
 static class ProviderFilter extends AbstractDubboProviderFilterSupport {
  public Result invoke(Invoker<&#63;> invoker, Invocation invocation) {
   System.out.println("ProviderFilter");
   return invoker.invoke(invocation);
  }
 }

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

 @Bean
 CustomFilter customFilter() {
  return new CustomFilter();
 }
 @Activate(group = Constants.PROVIDER)
 static class CustomFilter extends AbstractDubboFilterSupport {
  public Result invoke(Invoker<&#63;> invoker, Invocation invocation) throws RpcException {
   System.out.println("ProviderFilter2");
   return invoker.invoke(invocation);
  }
  public Filter getDefaultExtension() {
   return this;
  }
 }

看完上述内容,你们掌握使用spring-boot如何实现整合dubbo中的Spring-boot-dubbo-starter的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI