首先使用telnet命令进入控制台
命令:telnet ip 端口
例如你的如果dubbo.protocol.port=29952
那么就是 telnet localhost 2995
然后使用invoke命令注入:
如果注入的是json
那就直接传入json串就ok了,如果是基础数据类型,也可以分别对应参数直接传
invoke XxxService.xxxMethod({“prop”: “value”}, 1, “1”)
如果注入的参数是对象(com.yunji.bigdata.portrait.bo.PageSearchVO。具体的方法名: selectCustomerDataFromMysql(PageSearchVO var1)
对象PageSearchVO:
public class PageSearchVO implements Serializable {
private String version = "1.0";
private Integer size = 100000;
private Integer pageNum;
private Integer groupId;
//getter setter方法
}
我们也是按照json的格式传,只不过在每个对象后都需要指定具体的这个对象具体所属的类型。
invoke XxxService.selectCustomerDataFromMysql({"version":"1.0","size":100, "pageNum":1, "groupId":1000088,"class":"com.yunji.bigdata.portrait.bo.PageSearchVO"})
dubbo官网invoke文档:
invoke
invoke XxxService.xxxMethod(1234, "abcd", {"prop" : "value"})
: 调用服务的方法invoke com.xxx.XxxService.XxxService.xxxMethod(1234, "abcd", {"prop" : "value"})
: 调用全路径服务的方法invoke xxxMethod(1234, "abcd", {"prop" : "value"})
: 调用服务的方法(自动查找包含此方法的服务)invoke xxxMethod({"name":"zhangsan","age":12,"class":"org.apache.dubbo.qos.legacy.service.Person"})
:当有参数重载,或者类型转换失败的时候,可以通过增加class属性指定需要转换类- 当参数为Map<Integer,T>,key的类型为Integer时,建议指定类型。例如
invoke com.xxx.xxxApiService({"3":0.123, "class":"java.util.HashMap"})