クラス 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
を作成します。int
getPhase()
このライフサイクルオブジェクトが実行されるはずのフェーズを返します。boolean
このコンポーネントが現在実行されているかどうかを確認します。void
setConnectTimeout
(int connectTimeout) 基盤となるクライアントの接続タイムアウト値を設定します。void
setConnectTimeout
(DurationSE connectTimeout) Duration
SE 値を持つsetConnectTimeout(int)
のバリアント。void
setExchangeTimeout
(long exchangeTimeout) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 以降では、デフォルトで設定されなくなり (以前は 5 秒)、代わりに Reactor、Netty、HttpClient のタイムアウト構成が使用されます。void
setExchangeTimeout
(DurationSE exchangeTimeout) 非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。6.2 以降では、デフォルトで設定されなくなり (以前は 5 秒)、代わりに Reactor、Netty、HttpClient のタイムアウト構成が使用されます。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, 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 全体のグローバルリソースに参加するか、ReactorResourceFactory
Bean を介して特定の共有リソースセットを使用することで実現できます。後者は、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
Duration
SE 値を持つ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)
バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
isRunning
public boolean isRunning()インターフェースからコピーされた説明:Lifecycle
このコンポーネントが現在実行されているかどうかを確認します。コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、
true
を返します。getPhase
public int getPhase()インターフェースからコピーされた説明:SmartLifecycle
このライフサイクルオブジェクトが実行されるはずのフェーズを返します。デフォルトの実装は、通常の
Lifecycle
実装の前にstop()
コールバックを実行できるようにするためにSmartLifecycle.DEFAULT_PHASE
を返します。- 次で指定:
- インターフェース
Phased
のgetPhase
- 次で指定:
- インターフェース
SmartLifecycle
のgetPhase
- 関連事項: