0

我遇到了 java HttpClient 库的一个奇怪问题。具体来说,即使在从服务器收到响应之前,该库也会自动重试我的请求(POST 请求)。此外,更奇怪的问题是这只发生在特定的主机(机器)上。

所以最终结果是如果一个发布请求成功,那么可能会有一个完全相同的发布请求到达服务器,而服务器无法处理。现在,我确实想要重试行为,但它的行为应该很直观。
以前有人遇到过这种问题,或者有没有办法配置http客户端等待特定时间再重试。我不确定这里出了什么问题。

4

1 回答 1

0

您是否为您的 HttpClient 设置了方法重试处理程序?如:

DefaultMethodRetryHandler retryhandler = new DefaultMethodRetryHandler(10, true);
client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, retryhandler);

这就是重试的来源,您可以调试并查看它收到的响应标头(如果有)等。

您是否尝试过使用 firefox http 监视器或 ethereal 或类似工具来查看您的 http 请求和响应,并确保您认为正在发生的事情实际上正在发生?

于 2010-03-11T20:44:07.640 回答