dubbo服务发布之后,我们可以利用telnet命令进行调试、管理。Dubbo2.0.5以上版本服务提供端口支持telnet命令,下面我以通过实例抛砖引玉一下:

1.连接服务

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

 

telnet localhost 20880

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

    

dubbo telnet invoke 传参 telnet调用dubbo_sed

2.查看服务列表

查看服务

 

 

dubbo>ls

com.test.DemoService

 

 

 

查看服务中的接口

 

dubbo>ls com.test.DemoService

queryDemoPageList

insertDemolist

uploadDemoList

deleteDemolist

 

 

 

 

 


 

 

 

ls

(list services and methods)

ls

显示服务列表。

ls -l

显示服务详细信息列表。

ls XxxService

显示服务的方法列表。

ls -l XxxService

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

 

 

 

 

 

 

 

 


 

3.调用服务接口

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

 

 

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

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

elapsed: 10 ms.


invoke

invoke XxxService.xxxMethod({"prop": "value"})

调用服务的方法。

invoke xxxMethod({"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

count XxxService

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

count XxxService 10

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

count XxxService xxxMethod

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

count XxxService xxxMethod 10

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

status

status

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

status -l

显示状态列表。

 

ls

(list services and methods)

ls

显示服务列表。

ls -l

显示服务详细信息列表。

ls XxxService

显示服务的方法列表。

ls -l XxxService

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

ps

(print server ports and connections)

ps

显示服务端口列表。

ps -l

显示服务地址列表。

ps 20880

显示端口上的连接信息。

ps -l 20880

显示端口上的连接详细信息。

cd

(change default service)

cd XxxService

改变缺省服务,当设置了缺省服务,凡是需要输入服务名作为参数的命令,都可以省略服务参数。

cd /

取消缺省服务。

pwd

(print working default service)

pwd

显示当前缺省服务。

trace

trace XxxService

跟踪1次服务任意方法的调用情况。

trace XxxService 10

跟踪10次服务任意方法的调用情况。

trace XxxService xxxMethod

跟踪1次服务方法的调用情况

trace XxxService xxxMethod 10

跟踪10次服务方法的调用情况。

count

count XxxService

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

count XxxService 10

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

count XxxService xxxMethod

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

count XxxService xxxMethod 10

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

invoke

invoke XxxService.xxxMethod({"prop": "value"})

调用服务的方法。

invoke xxxMethod({"prop": "value"})

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

status

status

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

status -l

显示状态列表。

log

2.0.6以上版本支持

log debug 修改dubbo logger的日志级别

log 100查看file logger的最后100字符的日志

help

help

显示telnet命帮助信息。

help xxx

显示xxx命令的详细帮助信息。

clear

clear

清除屏幕上的内容。

clear 100

清除屏幕上的指定行数的内容。

exit

exit

退出当前telnet命令行。