有一个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());
}
}
答案 0 :(得分:0)
您可以使用this response更改超时... 这个体系结构出了问题,因为没有人发送请求并等待5分钟才能在应用程序中找到答案。
您可能应该发送请求并返回" 200" (好)如果请求的所有参数都正常(这样可以完成查询),并且结果准备就绪(5分钟后),你可以做几件事:
一个。使用服务器和客户端之间的套接字连接,并将结果发送给客户端。 湾更有用:发送包含结果的推送通知(不要忘记今天你可以在推送通知上加载4 k数据。