公司如果分项目组开发的,各个项目组调用各项目组的接口,有时候需要在联调环境调试对方的接口,可以直接telnet到dubbo的服务通过命令查看已经布的接口和方法,并能直接invoke具体的方法,我们可以利用telnet命令进行调试、管理。

Dubbo2.0.5以上版本服务提供端口支持telnet命令,下面我通过实例抛砖引玉一下:

1.连接服务

测试对应IP和端口下的dubbo服务是否连通,cmd命令如下

telnetlocalhost 20880

正常情况下,进入telnet窗口,键入回车进入dubbo命令模式。

dubbo>

2.查看服务列表

查看服务

dubbo>ls

com.test.DemoService

查看服务中的接口

dubbo>ls com.test.DemoService

queryDemoPageList

insertDemolist

uploadDemoList

deleteDemolist

ls

(listservices and methods)

ls

显示服务列表。

ls -l

显示服务详细信息列表。

lsXxxService

显示服务的方法列表。

ls -lXxxService

显示服务的方法详细信息列表。

3.调用服务接口

调用接口时,以JSON格式传入参数(这点很方便 :-D),然后打印返回值和所用时间。

dubbo>invoke com.test.DemoService.queryDemoPageList({"id":"100"},1,2)

{"totalCount":1,"data":\[{date":"2011-03-2314:10:32","name":"张三","keyword":null}\]}

elapsed: 10 ms.

invoke

invokeXxxService.xxxMethod({“prop”:”value”})

调用服务的方法。

invokexxxMethod({“prop”:”value”})

调用服务的方法(自动查找包含此方法的服务)。

4.查看服务状态

查看服务调用次数,不过比较奇怪的是,我刚才已经调用过一次queryDemoPageList了,而这里显示的为0(貌似不太准,有待进一步了解

dubbo>count  com.test.DemoService

dubbo>

| method                | total | failed | active | average | max |

| queryDemoPageList | 0     | 0    | 0      | 0ms     | 0ms |

| insertDemolist    | 0     | 0    | 0      | 0ms     | 0ms |

| uploadDemoList    | 0     | 0    | 0      | 0ms     | 0ms |

| deleteDemolist    | 0     | 0    | 0      | 0ms     | 0ms |

count

countXxxService

统计1次服务任意方法的调用情况。

countXxxService 10

统计10次服务任意方法的调用情况。

countXxxService xxxMethod

统计1次服务方法的调用情况。

countXxxService xxxMethod 10

统计10次服务方法的调用情况。

status

status

显示汇总状态,该状态将汇总所有资源的状态,当全部OK时则显示OK,只要有一个ERROR则显示ERROR,只要有一个WARN则显示WARN。

status -l

显示状态列表。

参考资料:

Telnet命令参考手册:

http://alibaba.github.io/dubbo-doc-static/Telnet+Command+Reference-zh-showComments=true&showCommentArea=true.htm

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注