Dubbo使用invoke指令来调用dubbo接口
最近被分配了一个任务,是通过dubbo的方式对外提供服务,dubbo没有我们一般的web项目中的Controller层,所以没有办法通过http的方式进行调用调试。作为萌新的我,确实有点一筹莫展,直到被老司机提醒使用dubboinvoke的方式进行接口测试,我才有方向。
关于dubbo的搭建可参考我的博客:SpringBoot使用dubbo实现RPC调用
正文
首先我们要知道Dubbo不同于传统的web项目需要运行在类似于tomcat、jboss等WEB容器中,Dubbo的运行机制我们可以参考下面Dubbo的组件来进行探究。
Dubbo核心组件
Provider:暴露服务的提供方,可以通过jar或者容器的方式启动服务Consumer:调用远程服务的服务消费方。Registry:服务注册中心和发现中心。Monitor:统计服务和调用次数,调用时间监控中心。Container:服务运行的容器。
Dubbo的Container模块,是一个独立的容器,它就可以为dubbo提供服务发现机制。并且这个Container容器默认是采用dubbo协议在20880端口号暴露服务,所以我们要通过这个接口来调用dubbo接口。
使用invoke调用dubbo接口服务
使用telnet命令进入控制台命令:telnetip端口
查看可用的dubbo接口
ls:显示服务列表。ls-l:显示服务详细信息列表。lsXxxService:显示服务的方法列表。ls-lXxxService:显示服务的方法详细信息列表。
使用invoke命令注入
如果注入的是json,可参考以下格式进行dubbo服务调用
invoke XxxService.xxxMethod({“name”: “luo”}, 18, “男”)
如果注入的是对象,可参考以下格式进行dubbo服务调用:
invoke XxxService.xxxMethod([{“name”:“luo”,“age”:18,“sex”:“男”,“class”:“com.luo.entity.User”}])
快速生成Invoke命令
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点