Linux环境用shell调用Dubbo服务
Posted 胖小白的技术笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux环境用shell调用Dubbo服务相关的知识,希望对你有一定的参考价值。
因项目中遇到非Dubbo框架的系统需要调度Dubbo框架系统的任务。
尝试了用expect方法,需要Linux安装tcl和expect。
首先Dubbo官方文档中有提到Linux调用Dubbo的方式
telnet localhost 20880
invoke XxxService.xxxMethod({"prop": "value"})
调用服务的方法。
#!/usr/bin/expect #invokeDubbo.exp if {$argc<0} { puts stderr "Usage: $argv0 dubboip dubboport service dataBody" exit 1 } set dubboip [ lindex $argv 0 ] set dubboport [ lindex $argv 1 ] set service [ lindex $argv 2 ] set dataBody [ lindex $argv 3 ] set timeout 30 spawn telnet ${dubboip} ${dubboport} expect { "*Connected*" { send "\r"; exp_continue } "*dubbo>" { send "invoke $service.execute\(\{$dataBody\}\) \r" } } expect eof
调用方式如下:
./invokeDubbo.exp 100.XX.XX.67 20880 ClearingApi \"accountDate\":\"20161220\"
以上是关于Linux环境用shell调用Dubbo服务的主要内容,如果未能解决你的问题,请参考以下文章
Dubbo搭建HelloWorld-搭建服务提供者与服务消费者并完成远程调用(附代码下载)
linux arm 运行 shell .sh 脚本文件报错:/bin/bash^M: bad interpreter: No such file or directory(dos2unix )(代码片