如何通过增加http响应时间来避免网关超时异常

时间:2014-10-22 04:09:42

标签: java ruby http gateway

有一个java应用程序对执行某些sql查询的ruby应用程序进行http调用,如果成功,则向java appilcation返回200的http响应,我的问题是ruby应用程序需要5分钟以上才能完成执行在几乎3分钟后检查java应用程序的日志时,它被作为网关超时异常给出。如何解决这个问题?

java http调用ruby应用程序:

GetMethod get = new GetMethod(URL to ruby application);

    Exception exception = null;
    try {
        // Get HTTP client
        HttpClient httpclient = new HttpClient();
        int resultCode = httpclient.executeMethod(get);

        // Display status code
        if (log.isInfoEnabled()) {
            log.info("response status code: "
                    + resultCode);
            // Display response
            log.info("Response body: " + get.getResponseBodyAsString());
        }
        if (resultCode != 200) {
            log.error("Failed with status code: "
                    + resultCode);
            log.error("Response body: " + get.getResponseBodyAsString());
        }

    }

1 个答案:

答案 0 :(得分:0)

您可以使用this response更改超时... 这个体系结构出了问题,因为没有人发送请求并等待5分钟才能在应用程序中找到答案。

您可能应该发送请求并返回" 200" (好)如果请求的所有参数都正常(这样可以完成查询),并且结果准备就绪(5分钟后),你可以做几件事:

一个。使用服务器和客户端之间的套接字连接,并将结果发送给客户端。 湾更有用:发送包含结果的推送通知(不要忘记今天你可以在推送通知上加载4 k数据。