web-dev-qa-db-ja.com

Spring RestTemplateを使用する場合のHttpConnectionのデフォルトのキープアライブ時間

Spring Rest Templateを介して新しい接続が作成される前に、非アクティブのときにHttpConnectionが存続している期間を知りたいと思っています。デフォルトの接続タイムアウトパラメータと読み取りタイムアウトパラメータを確認しましたが、これらは、何らかの障害などのために接続が確立されていない場合の接続タイムアウトのコンテキストで使用されていると思います。

私が探しているのは、アクティビティ(または)非アクティブがない場合に接続が存続する期間、およびSpring Rest Template(または)基盤となるメカニズムを介してこれを構成する方法です。

7
sam

デフォルトでは、RestTemplateSimpleClientHttpRequestFactoryを使用します。これにより、Javaの HttpURLConnection が開き、デフォルトで特定の条件下でキープアライブがサポートされます。接続の処理方法をより細かく制御したい場合は、 HttpComponentsClientHttpRequestFactory を使用してrestTemplateを作成できます。これは、Apache HttpClientライブラリを使用します。例:

@Bean
RestTemplate restTemplate(SimpleClientHttpRequestFactory factory) {
   return new RestTemplate(factory);
}

ここでいくつかの議論を見ることができます:

HttpUrlConnectionを再利用する方法は?

Javaの永続的なHttpURLConnection

マルチスレッド環境でRestTemplateを効率的に使用する方法は?

7
jny