2

以下是在 java 网络中处理 503 响应代码的适当方法吗?这段代码 - 特别是对 disconnect 和 null 的调用是做什么的?

URL url = new URL(some url);
HttpURLConnection h =(HttpURLConnection)url.openConnection();
int x = h.getResponseCode();
while(x==503)
{
    h.disconnect();
    h = null;
    h =(HttpURLConnection)url.openConnection();
    x = h.getResponseCode();
}
4

2 回答 2

4

disconnect() 关闭底层 TCP 套接字。

在重新分配之前立即将局部变量设置为 null 不会完成任何事情。

在该循环中应该有一个睡眠,每次失败都会增加一个间隔,并且重试次数是有限的。

于 2012-04-19T06:04:32.543 回答
1

无论你想让它做什么都是合适的方式。为了使某些事情发生故障,最好重复直到成功,而不是处理 503 场景。

最简单的例子:循环直到 200(成功)代码返回。

(最好将其抽象为方法和类,并尽可能使用 OOP 和单元测试。)

于 2012-04-19T06:04:51.673 回答