首页 > 代码库 > Linux环境用shell调用Dubbo服务
Linux环境用shell调用Dubbo服务
因项目中遇到非Dubbo框架的系统需要调度Dubbo框架系统的任务。
尝试了用expect方法,需要Linux安装tcl和expect。
首先Dubbo官方文档中有提到Linux调用Dubbo的方式
telnet localhost 20880
invoke XxxService.xxxMethod({"prop": "value"})
调用服务的方法。
#!/usr/bin/expect#invokeDubbo.expif {$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 30spawn 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服务
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。