public class HttpComponentsClientHttpRequestFactory extends ObjectSE implements ClientHttpRequestFactory, DisposableBean
ClientHttpRequestFactory 実装。 事前に構成された HttpClient インスタンスを使用できます。潜在的に認証、HTTP 接続プーリングなどを使用します。
注意 : Spring 4.0 以降では Apache HttpComponents 4.3 以降が必要です。
| コンストラクターと説明 |
|---|
HttpComponentsClientHttpRequestFactory() デフォルトの HttpClient で HttpComponentsClientHttpRequestFactory の新しいインスタンスを作成します。 |
HttpComponentsClientHttpRequestFactory(HttpClient httpClient) 指定された HttpClient インスタンスを使用して、HttpComponentsClientHttpRequestFactory の新しいインスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected org.apache.http.protocol.HttpContext | createHttpContext(HttpMethod httpMethod, URISE uri) 指定された HTTP メソッドと URI の HttpContext を作成するテンプレートメソッド。 |
protected HttpUriRequest | createHttpUriRequest(HttpMethod httpMethod, URISE uri) 指定された HTTP メソッドと URI 仕様の Commons HttpMethodBase オブジェクトを作成します。 |
ClientHttpRequest | createRequest(URISE uri, HttpMethod httpMethod) 指定された URI および HTTP メソッドの新しい ClientHttpRequest を作成します。 |
protected RequestConfig | createRequestConfig(ObjectSE client) 指定されたクライアントで使用するデフォルト RequestConfig を作成します。 |
void | destroy() 基になる ClientConnectionManager の接続プールがあれば、それを閉じるシャットダウンフック。 |
HttpClient | getHttpClient() 同期実行に使用される HttpClient を返します。 |
protected RequestConfig | mergeRequestConfig(RequestConfig clientConfig) |
protected void | postProcessHttpRequest(HttpUriRequest request)HttpComponentsClientHttpRequest の一部として返される前に HttpUriRequest を操作できるテンプレートメソッド。 |
void | setBufferRequestBody(boolean bufferRequestBody) このリクエストファクトリがリクエストボディを内部でバッファリングするかどうかを示します。 |
void | setConnectionRequestTimeout(int connectionRequestTimeout) 基礎となる HttpClient を使用して接続マネージャーから接続をリクエストするときに使用されるタイムアウトをミリ秒単位で設定します。 |
void | setConnectTimeout(int timeout) 基になる HttpClient の接続タイムアウトを設定します。 |
void | setHttpClient(HttpClient httpClient) 同期実行に使用される HttpClient を設定します。 |
void | setReadTimeout(int timeout) 基になる HttpClient のソケット読み取りタイムアウトを設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic HttpComponentsClientHttpRequestFactory()
HttpClient で HttpComponentsClientHttpRequestFactory の新しいインスタンスを作成します。public HttpComponentsClientHttpRequestFactory(HttpClient httpClient)
HttpClient インスタンスを使用して、HttpComponentsClientHttpRequestFactory の新しいインスタンスを作成します。httpClient - このリクエストファクトリに使用する HttpClient インスタンス public void setHttpClient(HttpClient httpClient)
HttpClient を設定します。public HttpClient getHttpClient()
HttpClient を返します。public void setConnectTimeout(int timeout)
カスタム HttpClient で RequestConfig インスタンスを指定することにより、追加のプロパティを設定できます。
timeout - ミリ秒単位のタイムアウト値 RequestConfig.getConnectTimeout()public void setConnectionRequestTimeout(int connectionRequestTimeout)
カスタム HttpClient で RequestConfig インスタンスを指定することにより、追加のプロパティを設定できます。
connectionRequestTimeout - ミリ秒単位の接続をリクエストするタイムアウト値 RequestConfig.getConnectionRequestTimeout()public void setReadTimeout(int timeout)
カスタム HttpClient で RequestConfig インスタンスを指定することにより、追加のプロパティを設定できます。
timeout - ミリ秒単位のタイムアウト値 RequestConfig.getSocketTimeout()public void setBufferRequestBody(boolean bufferRequestBody)
デフォルトは true です。POST または PUT を介して大量のデータを送信する場合、このプロパティを false に変更して、メモリが不足しないようにすることをお勧めします。
public ClientHttpRequest createRequest(URISE uri, HttpMethod httpMethod) throws IOExceptionSE
ClientHttpRequestFactoryClientHttpRequest を作成します。 返されたリクエストは、ClientHttpRequest.execute() を呼び出して書き込み、実行できます。
ClientHttpRequestFactory の createRequest uri - リクエストを作成する URIhttpMethod - 実行する HTTP メソッド IOExceptionSE - I/O エラーの場合 @Nullable protected RequestConfig createRequestConfig(ObjectSE client)
RequestConfig を作成します。null を返して、カスタムリクエスト構成を設定せず、HttpClient のデフォルトを使用する必要があることを示すことができます。デフォルトの実装は、クライアントのデフォルトを、このファクトリインスタンスのローカルカスタマイズ(存在する場合)とマージしようとします。
client - チェックする HttpClient(または HttpAsyncClient)null の場合があります)mergeRequestConfig(RequestConfig)protected RequestConfig mergeRequestConfig(RequestConfig clientConfig)
clientConfig - 現在の設定が保持している protected HttpUriRequest createHttpUriRequest(HttpMethod httpMethod, URISE uri)
httpMethod - HTTP メソッド uri - URIprotected void postProcessHttpRequest(HttpUriRequest request)
request - 処理するリクエスト @Nullable protected org.apache.http.protocol.HttpContext createHttpContext(HttpMethod httpMethod, URISE uri)
HttpContext を作成するテンプレートメソッド。 デフォルトの実装は null を返します。
httpMethod - HTTP メソッド uri - URIpublic void destroy()
throws ExceptionSEClientConnectionManager の接続プールがあれば、それを閉じるシャットダウンフック。DisposableBean の destroy ExceptionSE - シャットダウンエラーの場合。例外はログに記録されますが、他の Bean もリソースを解放できるように再スローされません。