spring-boot整合dubbo:Spring-boot-dubbo-starter
为什么要写这个小工具
如果你用过Spring-boot来提供dubbo服务,相信使用中有很多“不爽”的地方。既然使用spring boot,那么能用注解的地方绝不用xml配置,这才是spring-boot-style。开个玩笑,真正意思是,spring-boot适合一些简单的、独立的服务,一个大的系统是不适合使用spring-boot来开发。相反,spring-boot适合那些简单服务的搭建。 网上大多数的方法还是使用xml配置,通过@Import注解来引入xml配置。
怎么使用
对于服务的消费者或提供者,使用dubbo内置的注解@Service或@Reference来声明
在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<?> 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<?> invoker, Invocation invocation) throws RpcException {
System.out.println("ProviderFilter2");
return invoker.invoke(invocation);
}
public Filter getDefaultExtension() {
return this;
}
}
上一篇:Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例
栏 目:JAVA代码
本文标题:spring-boot整合dubbo:Spring-boot-dubbo-starter
本文地址:http://www.codeinn.net/misctech/113899.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




