クラス ReactorClientHttpRequestFactory
- 実装されているすべてのインターフェース:
Lifecycle、Phased、SmartLifecycle、ClientHttpRequestFactory
- 既知の直属サブクラス
ReactorNettyClientRequestFactory
ClientHttpRequestFactory の Reactor-Netty 実装。 このクラスは SmartLifecycle を実装しており、JVM チェックポイントリストアをサポートするために、オプションで Spring 管理の Bean として宣言できます。
- 導入:
- 6.2
- 作成者:
- Arjen Poutsma, Juergen Hoeller, Sebastien Deleuze
フィールドのサマリー
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASEコンストラクターの概要
コンストラクターコンストラクター説明HttpClient.create()経由で作成され、compressionが有効になっている、デフォルトのクライアントを持つコンストラクター。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)のバリアント。voidsetExchangeTimeout(long exchangeTimeout) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 以降では、デフォルトで設定されなくなり (以前は 5 秒)、代わりに Reactor、Netty、HttpClient のタイムアウト構成が使用されます。voidsetExchangeTimeout(DurationSE exchangeTimeout) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 以降では、デフォルトで設定されなくなり (以前は 5 秒)、代わりに Reactor、Netty、HttpClient のタイムアウト構成が使用されます。voidsetReadTimeout(long readTimeout) 長い値を持つsetReadTimeout(Duration)のバリアント。voidsetReadTimeout(DurationSE timeout) 基盤となるクライアントの読み取りタイムアウト値を設定します。voidstart()このコンポーネントを起動します。voidstop()このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
isAutoStartup, stop
コンストラクターの詳細
ReactorClientHttpRequestFactory
public ReactorClientHttpRequestFactory()HttpClient.create()経由で作成され、compressionが有効になっている、デフォルトのクライアントを持つコンストラクター。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- クライアントのさらなる初期化
メソッドの詳細
setConnectTimeout
public void setConnectTimeout(int connectTimeout) 基盤となるクライアントの接続タイムアウト値を設定します。実質的には、httpClient.option(CONNECT_TIMEOUT_MILLIS, timeout)のショートカットです。デフォルトでは 30 秒に設定されています。
- パラメーター:
connectTimeout- タイムアウト値(ミリ秒単位)。タイムアウトしない場合は 0 を使用します。- 関連事項:
Transport.option(ChannelOption, Object)ChannelOption.CONNECT_TIMEOUT_MILLIS- 接続タイムアウト
setConnectTimeout
DurationSE 値を持つsetConnectTimeout(int)のバリアント。setReadTimeout
基盤となるクライアントの読み取りタイムアウト値を設定します。実質的には、HttpClient.responseTimeout(Duration)のショートカットです。デフォルトでは 10 秒に設定されています。
- パラメーター:
timeout- 読み取りタイムアウト値(ミリ秒単位)。0 より大きい必要があります。
setReadTimeout
public void setReadTimeout(long readTimeout) 長い値を持つsetReadTimeout(Duration)のバリアント。setExchangeTimeout
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 以降では、デフォルトで設定されなくなり (以前は 5 秒)、代わりに Reactor、Netty、HttpClient のタイムアウト構成が使用されます。HTTP 交換のタイムアウトをミリ秒単位で設定します。デフォルトでは、6.2 以降は設定されなくなりました。
setExchangeTimeout
@DeprecatedSE(since="6.2", forRemoval=true) public void setExchangeTimeout(DurationSE exchangeTimeout) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 以降では、デフォルトで設定されなくなり (以前は 5 秒)、代わりに Reactor、Netty、HttpClient のタイムアウト構成が使用されます。期間値を持つsetExchangeTimeout(long)のバリアント。デフォルトでは、6.2 以降は設定されなくなりました。
createRequest
インターフェースからコピーされた説明:ClientHttpRequestFactory指定された URI および HTTP メソッドの新しいClientHttpRequestを作成します。返されたリクエストは、
ClientHttpRequest.execute()を呼び出して書き込み、実行できます。- 次で指定:
- インターフェース
ClientHttpRequestFactoryのcreateRequest - パラメーター:
uri- リクエストを作成する URIhttpMethod- 実行する HTTP メソッド- 戻り値:
- 作成されたリクエスト
- 例外:
IOExceptionSE- I/O エラーの場合
start
public void start()インターフェースからコピーされた説明:Lifecycleこのコンポーネントを起動します。コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これにより、自動起動しないコンポーネントも含め、適用されるすべてのコンポーネントにハードスタートシグナルが伝播されます。
stop
public void stop()インターフェースからコピーされた説明:Lifecycleこのメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycleとそのstop(Runnable)バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
LifecycleBean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
isRunning
public boolean isRunning()インターフェースからコピーされた説明:Lifecycleこのコンポーネントが現在実行されているかどうかを確認します。コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、
trueを返します。getPhase
public int getPhase()インターフェースからコピーされた説明:SmartLifecycleこのライフサイクルオブジェクトが実行されるはずのフェーズを返します。デフォルトの実装は、通常の
Lifecycle実装の前にstop()コールバックを実行できるようにするためにSmartLifecycle.DEFAULT_PHASEを返します。- 次で指定:
- インターフェース
PhasedのgetPhase - 次で指定:
- インターフェース
SmartLifecycleのgetPhase - 関連事項: