前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Quarkus集成Dubbo框架扩展开源了(23)

Quarkus集成Dubbo框架扩展开源了(23)

作者头像
kl博主
发布2023-11-18 13:19:18
1510
发布2023-11-18 13:19:18
举报
文章被收录于专栏:kl的专栏kl的专栏

前言

两个月前,刚接触Quarkus时,博主就尝试过Quarkus和Dubbo的集成,利用Quarkus编程时定义Bean的方式,成功的实现了Dubbo服务的引入和暴露,只是方式有点不智能,那篇博文《Quarkus集成Dubbo Rpc远程通讯框架(8)》的阅读量远高于其他的博文,说明Dubbo使用的人还是蛮多的。那个时候也预言过,会有更方便使用的自动集成方案出来。不过,随着博主对Quarkus的深入研究后,发现Quarkus真的很灵活。所以博主自己先搞出来了

Quarkus技术交流QQ群:871808563

本文扩展源码:https://github.com/kekingcn/quarkus-dubbo-rpc

quarkus:https://quarkus.io/guides/

dubbo:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html

快速集成

1、引入依赖

代码语言:javascript
复制
     <dependency>
         <groupId>org.github.keking</groupId>
         <artifactId>quarkus-dubbo-rpc-ext</artifactId>
         <version>1.0-SNAPSHOT</version>
     </dependency>

2、添加dubbo配置

代码语言:javascript
复制
#dubbo
quarkus.dubbo.name = kl
quarkus.dubbo.registr-addr=nacos://nacos-pre.xxx.com:8848
quarkus.dubbo.protocol.name = dubbo
quarkus.dubbo.protocol.port  = 20330

dubbo使用

以上两个步骤已经完成了dubbo的集成了,做到了和Spring环境下的一致体验,用法也是和官方的用法一模一样,只是博主集成的是dubbo2.7.6以上的版本,所有注解稍微有点变化。另,目前服务注入和服务暴露注解的属性设置只支持了部分,如(group、timeout),以下是引入服务和暴露服务的例子

引入服务

代码语言:javascript
复制
@Singleton
@Startup
public class ConfigService {
    
    @DubboReference(check = false)
    Client client;

    @PostConstruct
    public void print(){
        System.out.println(client.list("kl"));
    }
}

暴露服务

代码语言:javascript
复制
@DubboService(interfaceClass = ServiceApi.class)
public class ServiceImpl implements ServiceApi {
    @Override
    public String hello(String name) {
        return "hello" + name;
    }
}

interface ServiceApi {
    String hello(String name);
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档