Dubbo服务测试方法

Dubbo服务发布之后,除了编写Dubbo Consumer服务调用去测试,我们也可以利用telnet命令进行调试、管理。Dubbo 2.0.5以上版本服务提供端口支持telnet命令。本篇文章介绍一下如何使用telnet命令对Dubbo服务进行测试。

1. 确定Dubbo服务端口

Dubbo服务端口是定义在dubbo-provider文件中的,如下:上述文件中通过dubbo:protocol可以确定dubbo服务端口是10001

2. 使用telnet连接dubbo服务

通过telnet ip port方式可以测试dubbo服务是否连通,命令如下:

telnet 127.0.0.1 10001

回车后键入回车进入dubbo命令模式,如下:

dubbo>

3. 查看服务列表

ls命令可以查看服务列表

dubbo>ls
com.zhuoli.service.springboot.dubbo.contract.service.DubboTestService
dubbo>

查看服务中的接口

dubbo>ls com.zhuoli.service.springboot.dubbo.contract.service.DubboTestService
sayHello

也可以通过如下方式查看接口

dubbo>cd com.zhuoli.service.springboot.dubbo.contract.service.DubboTestService
dubbo>ls
sayHello

4. invoke调用服务接口

使用invoke调用接口,以JSON格式传入参数

dubbo>cd com.zhuoli.service.springboot.dubbo.contract.service.DubboTestService
dubbo>ls
sayHello
dubbo>invoke sayHello({"content": "zhuoli jjj"})
Use default service com.zhuoli.service.springboot.dubbo.contract.service.DubboTestService.
{"result":"Hello: zhuoli jjj"}
elapsed: 1 ms.
dubbo>

注意invoke使用dubbo版本需要升级到2.8.4,否则telnet调用会报错,查看了2.6.3版本的源码,确实不支持接口参数是对象的情况,不知道是bug还是本来就不支持。详情请查看dubbo源码InvokeTelnetHandler类的findMethod方法,2.8.4版本和之前版本的差异就能找到原因。

你可能感兴趣的:(工具,Dubbo,测试方法)