• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

spring-dubbo-parent: 使用Spring boot 启动dubbo服务(消费者和生产者),快速定义du ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

spring-dubbo-parent

开源软件地址:

https://gitee.com/null_584_3382/spring-dubbo-parent

开源软件介绍:

spring-dubbo-parent

dubbo-spring-boot-starterusing dubbo with spring boot style 。this is based on dubbo 2.5.3 and spring boot 1.4.1.RELEASEdocument:spring boot with dubbo

how to use

you can deploy dubbo properties in spring boot configuration file —— application.properties/yme.g

dubbo:  application:    name: lizo  registry:    address: multicast://224.5.6.7:1234  protocol:    name: dubbo    port: 20887

@EnableDubbo

when bootstrap application, using @EnableDubbo annotation with the @Configurantion bean, lick this:

@SpringBootApplication@EnableDubbo(basePackages = "com.alibaba.dubbo")public class Provider {    public static void main(String[] args) throws InterruptedException {        ApplicationContext ctx = new SpringApplicationBuilder()                .sources(Provider.class)                .web(false)                 .run(args);        new CountDownLatch(1).await();    }}

then you can using com.alibaba.dubbo.config.annotation.Service and com.alibaba.dubbo.config.annotation.Reference on provider bean and consumer bean respectively.

api interface :

public interface AddService {    int add(int a, int b);}

provider bean:

@Servicepublic class AddServiceImpl implements AddService {    @Override    public int add(int a, int b) {        return a + b;    }}

consumer bean:

 @Componentpublic class ConsumerAction {    @Reference    private AddService addService;    public void add(int a,int b){        System.out.println("ret = " + addService.add(a,b));    }}

more details see demo projectdubbo document see:http://dubbo.io/

extension

filter

you can define a dubbo filter as a Spring bean which extend AbstractDubboProviderFilterSupport or AbstractDubboConsumerFilterSupport

    @Bean    ProviderFilter consumerFilter(){        return new ProviderFilter();    }    static class ProviderFilter extends AbstractDubboProviderFilterSupport {        public Result invoke(Invoker<?> invoker, Invocation invocation) {            System.out.println("ProviderFilter");            return invoker.invoke(invocation);        }    }

if you want more custom , you can using origin dubbo filter annotaion @activate with a spring bean extend AbstractDubboFilterSupport

    @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("CustomFilter");            return invoker.invoke(invocation);        }        public Filter getDefaultExtension() {            return this;        }    }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap