restTemplateで利用可能なreadTimeoutを理解しようとしていますが、それは何ですか?春休みテンプレートreadTimeOut
タイムアウトの例外が発生するまでに要求に要する合計時間はありますか?
restTemplateで利用可能なreadTimeoutを理解しようとしていますが、それは何ですか?春休みテンプレートreadTimeOut
タイムアウトの例外が発生するまでに要求に要する合計時間はありますか?
あなたは次のようにRestTemplate
に読み取りタイムアウトを定義することができます。
HttpComponentsClientHttpRequestFactory clientRequestFactory = new HttpComponentsClientHttpRequestFactory();
// set the read timeot, this value is in miliseconds
clientRequestFactory.setReadTimeout(500);
RestTemplate restTemplate = new RestTemplate(clientRequestFactory);
を、長いXミリ秒以上かかることRestTemplateインスタンスを通じて行われたすべての要求はになりますResourceAccessException
、java.net.SocketTimeoutException
を「Read timed out」という例外メッセージでラップします。
タイムアウトが実際に要求が最初にそのソケットに当たると、これらのいずれかが最初に来るとき停止したときにクロックが開始RestTemplate
によってラップさHttpClient
インスタンス内部のソケットコネクタによって実装されます。要求が完了するか、またはreadTimeoutです到達した。
これは、設定されたreadTmeoutよりも長い時間がかかるリクエストは、タイムアウト例外で失敗することを意味します。
限り私は知っていたとして、restTemplateでは、我々は1)ConnectionRequestTimeout タイムアウト の3種類を持っているこれは
2)これはとの間の接続を確立するためのミリ秒単位のタイムアウトです のConnectionTimeout
のConnectionManagerから接続を取得するためのミリ秒単位のタイムアウトですソースと宛先3)ReadTimeout これは、応答/結果が宛先エンドポイントから返されることを期待するミリ秒単位のタイムアウトです。