クラス ReactorClientHttpRequestFactory
- 実装されているすべてのインターフェース:
Lifecycle
、Phased
、SmartLifecycle
、ClientHttpRequestFactory
ClientHttpRequestFactory
の Reactor-Netty 実装。 このクラスは SmartLifecycle
を実装しており、JVM チェックポイントリストアをサポートするために、オプションで Spring 管理の Bean として宣言できます。
- 導入:
- 6.2
- 作成者:
- Arjen Poutsma, Juergen Hoeller, Sebastien Deleuze
フィールドのサマリー
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターの概要
コンストラクターコンストラクター説明HttpClient.create()
を介して作成され、compression
とproxyWithSystemProperties
が有効になっている、デフォルトのクライアントを持つコンストラクター。ReactorClientHttpRequestFactory
(ReactorResourceFactory resourceFactory, FunctionSE<reactor.netty.http.client.HttpClient, reactor.netty.http.client.HttpClient> mapper) イベントループスレッド用のLoopResources
や接続プール用のConnectionProvider
など、外部で管理される Reactor Netty リソースを持つコンストラクター。ReactorClientHttpRequestFactory
(reactor.netty.http.client.HttpClient client) 指定されたHttpClient
インスタンスを持つコンストラクター。メソッドのサマリー
修飾子と型メソッド説明createRequest
(URISE uri, HttpMethod httpMethod) 指定された URI および HTTP メソッドの新しいClientHttpRequest
を作成します。int
getPhase()
このライフサイクルオブジェクトが実行されるはずのフェーズを返します。boolean
このコンポーネントが現在実行されているかどうかを確認します。void
setConnectTimeout
(int connectTimeout) 基盤となるクライアントの接続タイムアウト値を設定します。void
setConnectTimeout
(DurationSE connectTimeout) Duration
SE 値を持つsetConnectTimeout(int)
のバリアント。void
setReadTimeout
(long readTimeout) 長い値を持つsetReadTimeout(Duration)
のバリアント。void
setReadTimeout
(DurationSE timeout) 基盤となるクライアントの読み取りタイムアウト値を設定します。void
start()
このコンポーネントを起動します。void
stop()
このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
isAutoStartup, isPauseable, stop
コンストラクターの詳細
ReactorClientHttpRequestFactory
public ReactorClientHttpRequestFactory()HttpClient.create()
を介して作成され、compression
とproxyWithSystemProperties
が有効になっている、デフォルトのクライアントを持つコンストラクター。ReactorClientHttpRequestFactory
public ReactorClientHttpRequestFactory(reactor.netty.http.client.HttpClient client) 指定されたHttpClient
インスタンスを持つコンストラクター。- パラメーター:
client
- 使用するクライアント
ReactorClientHttpRequestFactory
public ReactorClientHttpRequestFactory(ReactorResourceFactory resourceFactory, FunctionSE<reactor.netty.http.client.HttpClient, reactor.netty.http.client.HttpClient> mapper) イベントループスレッド用のLoopResources
や接続プール用のConnectionProvider
など、外部で管理される Reactor Netty リソースを持つコンストラクター。一般的に、イベントループの同時実行にはリソースを共有することをお勧めします。これは、
HttpResources
に保持されている JVM 全体のグローバルリソースに参加するか、ReactorResourceFactory
Bean を介して特定の共有リソースセットを使用することで実現できます。後者は、Spring ApplicationContext が停止 / 閉じられ、再度再起動されたときに (例: JVM チェックポイントの復元)、リソースがシャットダウンされることを保証できます。- パラメーター:
resourceFactory
- リソースを取得するリソースファクトリmapper
- クライアントのさらなる初期化
メソッドの詳細
setConnectTimeout
public void setConnectTimeout(int connectTimeout) 基盤となるクライアントの接続タイムアウト値を設定します。実質的には、httpClient.option(CONNECT_TIMEOUT_MILLIS, timeout)
のショートカットです。デフォルトでは 30 秒に設定されています。
- パラメーター:
connectTimeout
- タイムアウト値(ミリ秒単位)。タイムアウトしない場合は 0 を使用します。- 関連事項:
setConnectTimeout
Duration
SE 値を持つsetConnectTimeout(int)
のバリアント。setReadTimeout
基盤となるクライアントの読み取りタイムアウト値を設定します。実質的には、HttpClient.responseTimeout(Duration)
のショートカットです。デフォルトでは 10 秒に設定されています。
- パラメーター:
timeout
- 読み取りタイムアウト値(ミリ秒単位)。0 より大きい必要があります。
setReadTimeout
public void setReadTimeout(long readTimeout) 長い値を持つsetReadTimeout(Duration)
のバリアント。createRequest
インターフェースからコピーされた説明:ClientHttpRequestFactory
指定された URI および HTTP メソッドの新しいClientHttpRequest
を作成します。返されたリクエストは、
ClientHttpRequest.execute()
を呼び出して書き込み、実行できます。- 次で指定:
- インターフェース
ClientHttpRequestFactory
のcreateRequest
- パラメーター:
uri
- リクエストを作成する URIhttpMethod
- 実行する HTTP メソッド- 戻り値:
- 作成されたリクエスト
- 例外:
IOExceptionSE
- I/O エラーの場合
start
stop
public void stop()インターフェースからコピーされた説明:Lifecycle
このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle
とそのstop(Runnable)
バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
isRunning
getPhase
public int getPhase()インターフェースからコピーされた説明:SmartLifecycle
このライフサイクルオブジェクトが実行されるはずのフェーズを返します。デフォルトの実装は、通常の
Lifecycle
実装の前にstop()
コールバックを実行できるようにするためにSmartLifecycle.DEFAULT_PHASE
を返します。- 次で指定:
- インターフェース
Phased
のgetPhase
- 次で指定:
- インターフェース
SmartLifecycle
のgetPhase
- 関連事項: