在分布式系统的开发中,用到了dubbo+zookeeper技术,最近遇到一个问题,产品上线后,我负责的模块出了问题,某个bean中某个字段的值一直为null,而这个bean是我调用注册在zookeeper上的一个服务查询到的(另一个同事负责的),怀疑这个服务版本有问题,但是由于现场是生产环境,不允许随意测试,感觉不知如何处理,后来同事给提供了一种方法,能快速测试dubbo服务的正确性,现记录如下:
1. 场景
比如我要测试flight-oil-master这个模块注册的dubbo服务,服务名称为:com.ias.flight.oil.service.OilBillService,方法为:getOilBillById()。该服务部署于172.16.xx.xx这台服务器上,dubbo端口为20889,我现在要它传参数,看它返回的结果是否正确。
2. 打开命令行窗口,通过telnet ip port建立连接,如下图所示:
2. 按回车,出现如下窗口:
3. 再回车,出现如下窗口
4. 使用ls命令,列出所有接口
5. 使用【ls 接口】命令列出某个接口中的所有方法
6. 通过【invoke 接口.方法(参数)】或者【invoke 方法(参数)】命令测试某个方法,如下图所示