クラス ReactorClientHttpRequestFactory
- 実装されているすべてのインターフェース:
Lifecycle, Phased, SmartLifecycle, ClientHttpRequestFactory
ClientHttpRequestFactory の Reactor-Netty 実装。 このクラスは SmartLifecycle を実装しており、JVM チェックポイントリストアをサポートするために、オプションで Spring 管理の Bean として宣言できます。
- 導入:
- 6.2
- 作成者:
- Arjen Poutsma, Juergen Hoeller, Sebastien Deleuze, Brian Clozel
フィールドのサマリー
インターフェース 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を作成します。intgetPhase()このライフサイクルオブジェクトが実行されるはずのフェーズを返します。booleanこのコンポーネントが現在実行されているかどうかを確認します。voidsetConnectTimeout(int connectTimeout) 基盤となるクライアントの接続タイムアウト値を設定します。voidsetConnectTimeout(DurationSE connectTimeout) DurationSE 値を持つsetConnectTimeout(int)のバリアント。voidsetExecutor(ExecutorSE executor) ブロッキング I/O 操作を実行するために使用するExecutorを設定します。voidsetReadTimeout(long readTimeout) 長い値を持つsetReadTimeout(Duration)のバリアント。voidsetReadTimeout(DurationSE timeout) 基盤となるクライアントの読み取りタイムアウト値を設定します。voidstart()このコンポーネントを起動します。voidstop()このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。クラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース 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 全体のグローバルリソースに参加するか、ReactorResourceFactoryBean を介して特定の共有リソースセットを使用することで実現できます。後者は、Spring ApplicationContext が停止 / 閉じられ、再度再起動されたときに (例: JVM チェックポイントの復元)、リソースがシャットダウンされることを保証できます。- パラメーター:
resourceFactory- リソースを取得するリソースファクトリmapper- クライアントのさらなる初期化
メソッドの詳細
setExecutor
ブロッキング I/O 操作を実行するために使用するExecutorを設定します。実行者が指定されていない場合、リクエストでは
elastic schedulerが使用されます。- パラメーター:
executor- 使用するエグゼキュータ。- 導入:
- 6.2.13
setConnectTimeout
public void setConnectTimeout(int connectTimeout) 基盤となるクライアントの接続タイムアウト値を設定します。実質的には、httpClient.option(CONNECT_TIMEOUT_MILLIS, timeout)のショートカットです。デフォルトでは 30 秒に設定されています。
- パラメーター:
connectTimeout- タイムアウト値(ミリ秒単位)。タイムアウトしない場合は 0 を使用します。- 関連事項:
setConnectTimeout
DurationSE 値を持つ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)バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
LifecycleBean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
isRunning
getPhase
public int getPhase()インターフェースからコピーされた説明:SmartLifecycleこのライフサイクルオブジェクトが実行されるはずのフェーズを返します。デフォルトの実装は、通常の
Lifecycle実装の前にstop()コールバックを実行できるようにするためにSmartLifecycle.DEFAULT_PHASEを返します。- 次で指定:
- インターフェース
PhasedのgetPhase - 次で指定:
- インターフェース
SmartLifecycleのgetPhase - 関連事項: