java通过反射调用有参数的方法

1.服务端代码
/**
 * 执行shell命令
 * @param command 执行命令
 * @return
 */
public String exeCommandByPath( String command){
    log.info("进入执行shell命令方法 执行命令:" + command);
    String returnString = "";
    Process pro = null;
    String[] cmds = { "/bin/sh", "-c", command };
    Runtime runTime = Runtime.getRuntime();
    if (runTime == null) {
        log.info("Create runtime false!");
    }
    try {
        pro = runTime.exec(cmds);
        BufferedReader input = new BufferedReader(new InputStreamReader(pro.getInputStream()));
        PrintWriter output = new PrintWriter(new OutputStreamWriter(pro.getOutputStream()));
        String line;
        while ((line = input.readLine()) != null) {
            returnString = returnString + line + "\n";
        }
        input.close();
        output.close();
        pro.destroy();
    } catch (Exception ex) {
        log.info("执行shell命令出现异常" + ex.getMessage());
    }
    log.info("执行shell命令方法结果" + returnString);
    return returnString;
}

  2.客户端代码

/**
 * 执行shell命令
 *
 * @param command 执行命令
 * @return
 */
public   String exeCommandByPath(String command) throws Exception {
    Response response = null;
    try {

        Client client = ClientBuilder.newClient();
        WebTarget target = client.target(路径(http://.....)).queryParam("command", command); 
        client.property(ClientProperties.CONNECT_TIMEOUT, 2000);
        client.property(ClientProperties.READ_TIMEOUT, 10);
        response = target.request().get();
        if (response.getStatus() == 200) {
            String result = response.readEntity(String.class);
            log.error("执行shell命令时{}返回值", result);
            return result;
        } else {
            throw new Exception("执行shell命令时连接失败!");
        }
    } catch (Exception e) {

        log.error("执行shell命令时{}出现异常", command, e);
        throw new Exception("执行shell命令时{}" + command + "出现异常:" + e.getMessage());
    } finally {
        log.info("执行shell命令时{}", command);

    }
}

  

客户端和服务端通过restful进行http关联


参考文档:http://code.cailu.vip/167.html

 

posted @ 2018-03-16 18:30  步步丶惊云  阅读(13866)  评论(0)    收藏  举报