zoukankan      html  css  js  c++  java
  • 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 "
    "; exp_continue }
    "*dubbo>" { send "invoke $service.execute({$dataBody}) 
    " }
    }
    
    expect eof

    调用方式如下:

    ./invokeDubbo.exp  100.XX.XX.67 20880 ClearingApi "accountDate":"20161220"
  • 相关阅读:
    flask-scripts
    mysql相关
    day9:函数
    day8:文件操作
    day7:set和深浅copy
    day6:前两小节补充
    day5:字典dict
    day4:数据结构list
    piano class 13
    day3:数据类型 str
  • 原文地址:https://www.cnblogs.com/wulouhua/p/6365095.html
Copyright © 2011-2022 走看看