dubbo服务接口开发者必备调试利器,你值得拥有

自阿里将dubbo开源之后,很多非阿里系的公司开始用起了dubbo框架,目前被广泛使用的应该是当当网在维护的dubbox版本。用过该框架的同学应该都知道dubbo的工作原理,这里就不再赘述。

开发过程中大多数同学可能懒于写单元测试,都是通过启动消费者来进行接口调试。如果开发者自己用虚拟机搭建了zookeeper等dubbo开发所需环境,启动消费者调试服务也是比较方便的;若是所有开发人员共用一个注册中心,这时候启动消费者所消费的服务未必就是自己所提供的,这个时候调试就比较麻烦。要么在dubbo admin管理后台把自己提供的服务进行提权或直接禁用别人提供的服务,要么通过telnet命令调用指定方法。有去dubbo官方看过文档的应该都知道dubbo是支持telnet连接的,可以通过invoke命令调用指定服务。这种方式可以直接调用自己的服务,就是写命令比较麻烦,特别是参数多的接口,写起来就没那么顺手了。下面看下telnet调服务的截图


dubbo telnet连接并列出服务与方法,并调用一个方法

今天要介绍的不是写测试用例,也不是如何通过telnet来调试服务。今天要说的是作者自己开发的一个专门为dubbo调试而生的辅助工具。先看下界面。下载地址:http://www.vbox.top


调用dubbo接口

详细使用说明在软件帮助菜单里有,这里再简单介绍一下操作步骤:

  1. 填写注册中心地址包含端口号,例:192.168.145.131:2181

  2. 填写服务pom地址,点击浏览选择要调用的接口实现类所有项目的pom文件,例:F:dubbox-dubbox-2.8.4dubbo-demodubbo-demo-providepom.xml

  3. 点击连接,连接注册中心并获取接口列表

  4. 从service列表选择要调试的service,若service过多可以通过服务名、应用名或ip筛选出所要的service。点击service后系统通过分析pom文件获取依赖关系,再通过反射获取接口所有暴露的方法及参数名称。对新项目首次进行此操作耗时较久,之后将从缓存获取依赖,因此依赖关系有变更时请点击清空依赖缓存。

  5. 选择提供者,如果同一注册中心有多个提供者时可以选择需要调用哪个提供者。

  6. 默认请求超时为5秒,可自行设置

  7. 从列表中选择要调用的service方法,此时右侧文本区域显示该方法的参数,输入完参数点击调用即可。传参数注意事项:

  • .接口单值参数,直接将自动生成的参数名改为参数值

  • .若接口有多个参数,参数为复杂对象时,参数多个字段大括号括起来,参数之间逗号隔开。

示例1:

接口:queryPage(Map<String,Object> params,String orderBy);

请求参数配置:

[

{//大括号中内容为params接收的数据

userId:1197264, //map参数键值对格式冒号分隔

userName:’test’

},

'user_id desc'//第二个单值参数,不需要参数名直接填写参数值

]

示例2:

接口:cacheUser(User user,Integer index,UserAttr userAttr);

请求参数配置:

[

{//大括号中内容为user接收的数据

userId:1197264, //userId为User的一个属性

userName:’test’ //userName为User的一个属性

},

1, //第二个单值参数,不需要参数名直接填写参数值

{// 第三个字段userAttr对应参数

address:’福建龙岩上杭’,

nickName:’披着羊皮’

}

]

下载地址:http://www.vbox.top

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Doe 发布 [V1.0.0] 前段时间排查某问题的时候,想要快速知道某些dubbo接口(三无)的响应结果,但不想启动项目(因为这些项目不是你负责的,不会部署而且超级笨重),也不想新建一个dubbo客户端项目(占地方),也不想开telnet客户端连接口(麻烦而且有限制)。所以扣了dubbo的netty模块源码,封装了个收发客户端集成一个工具,可以快速调试dubbo接口。源码地址:https://github.com/VIPJoey/doe 极简模式 普通模式 目录结构 mmc-dubbo-api 接口项目,主要用于测试。 mmc-dubbo-provider dubbo提供者项目,主要用于测试。 mmc-dubbo-doe 主项目,实现dubbo接口调试。 deploy 部署文档 功能特性 极简模式:通过dubbo提供的telnet协议收发数据。 普通模式:通过封装netty客户端收发数据。 用例模式:通过缓存数据,方便下一次操作,依赖普通模式。 增加依赖:通过调用maven命令,下载jar包和热加载到系统,主要用来分析接口方法参数,主要作用在普通模式。 依赖列表:通过分析pom文件,展示已经加载的jar包。 其它特性 springboot 整合 redis,支持spring el 表达式。 springboot 整合 thymeleaf。 springboot 整合 logback。 netty rpc 实现原理。 开发环境 jdk 1.8 maven 3.5.3 dubbo 2.6.1 lombok 1.16.20 idea 2018 windows 7 安装步骤 安装jdk 安装maven,并设置好环境变量,仓库目录。 进入mmc-dubbo-api目录,执行mvn clean install命令,省api的jar包。 进入mmc-dubbo-doe目录,执行mvn clean install 命令,在target目录生成dubbo-doe-1.0.0-RELEASE.jar 在F盘(可以任意盘)创建目录F:\app\doe 把dubbo-doe-1.0.0-RELEASE.jar拷贝到F:\app\doe 把deploy目录中的所有文件拷贝到F:\app\doe 如果您电脑安装了git bash,可以在bash窗口运行 ./deploy.sh start,否则如果没有安装git bash,只能打开cmd切换到F:\app\doe目录,然后执行java -jar dubbo-doe-1.0.0-RELEASE.jar --spring.profiles.active=prd 打开浏览器,访问地址:http://localhost:9876/doe/home/index 全剧终
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值