使用invoke直接调用dubbo接口

ps -ef |grep 输出的具体含义

比如:
[root@localhost ~]# ps -ef | grep ApacheJetspeed
root 18887 18828 0 08:09 pts/0 00:00:00 grep ApacheJetspeed

字段含义如下:
UID PID PPID C STIME TTY TIME CMD

root 18887 18828 0 08:09 pts/0 00:00:00 grep ApacheJetspeed

第一步: 启动本地项目

第二步:找到项目对应的进程

ps -ef | grep recreation

第三步:查找进程监听的dubbo端口号:lsof -i | grep 80333 | grep LISTEN

第四步:telnet 127.0.0.1  25014 远程登陆服务的标准协议和主要方式。提供了在本地计算机完成远程主机的能力。在本地输入命令和在远程计算机中输入命令效果一样。

第五步:按control+enter按键(这里每台电脑快捷键可能不同)

第六步:ls命令查看暴露的接口

第七步:对具体的方法,invoke xx.xx.service.method(参数1,参数2),就会返回结果。

第八步:如何面对 invoke xx.xx.service.method(对象1,对象2),此时dubbo invoke调用之后的处理 InvokeTelnetHandler。 发现在校验参数的时候,会去判断类型是否一致。当我们传入json的时候,参数类型是jsonObject,所以我们得添加一个属性class来指定转换的对象。

invoke cn.dongplus.ore.lib.service.RefundService.applyAutoRefund({"balanceId":"1607938757541356437268","amount":2590,"class":"cn.dongplus.ore.lib.request.AutoRefundRequest"})