0

いくつかの REST API をテストするためにJodd HTTPクライアントを使用しています。ソケットのタイムアウト値を設定する方法がわからないことを除いて、すべてが正常に機能します(実際には素晴らしいです:)。そのため、サーバーが稼働していない場合、長時間待機する必要がある場合があります (デフォルトのシステムのタイムアウトが大きいため)。

次のようなhttpリクエストを使用しています:

HttpResponse response = HttpRequest.get("http://server").query("p1", "v1")....send();

HttpRequestクラスにタイムアウト関連のメソッドがありません。

4

1 に答える 1

0

ここには 2 つのオプションがあります。

最初の方法は実際にはドキュメントで説明されています:) とにかく、アイデアは次のHttpConnectionように微調整することです:

HttpRequest request = HttpRequest.get()...;
request.open();
SocketHttpConnection httpConnection = (SocketHttpConnection) request.httpConnection();
Socket socket = httpConnection.getSocket();
socket.setSoTimeout(1000);
...
HttpResponse response = request.send();

ただし、これは頻繁に必要とされるものであるため、最新バージョン (まだリリースされていません) にtimeoutメソッドを追加したため、将来的には次のように設定できるようになります。

httpRequest.timeout(1000);

お役に立てれば。

于 2014-10-21T06:20:04.770 に答える