0

Java HttpClient ライブラリで奇妙な問題が発生しました。具体的には、サーバーから応答を受信する前であっても、ライブラリは自動的に要求 (POST 要求) を再試行します。さらに奇妙な問題は、これが特定のホスト (マシン) でのみ発生することです。

したがって、最終的な結果は、投稿リクエストが成功した場合、サーバーが処理できないまったく同じ投稿リクエストがサーバーに送信される可能性があります。今、再試行の動作が必要ですが、直感的に動作する必要があります。
以前にこの種の問題に直面した人はいますか、または再試行する前に特定の時間待機するように http クライアントを構成する方法はありますか。ここで何がうまくいかないのかわかりません。

4

1 に答える 1

0

HttpClientにmethodretryhandlerが設定されていますか?のように:

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

ここで再試行が開始され、デバッグして、受信している応答ヘッダーがある場合はそれを確認できます。

Firefoxのhttpモニターまたはetherealなどを使用して、httpの要求と応答を調べ、起こっていると思われることが実際に起こっていることを確認してみましたか?

于 2010-03-11T20:44:07.640 に答える