クラス ReactorClientHttpRequestFactory

java.lang.ObjectSE
org.springframework.http.client.ReactorClientHttpRequestFactory
実装されているすべてのインターフェース:
LifecyclePhasedSmartLifecycleClientHttpRequestFactory

public class ReactorClientHttpRequestFactory extends ObjectSE implements ClientHttpRequestFactory, SmartLifecycle
ClientHttpRequestFactory の Reactor-Netty 実装。

このクラスは SmartLifecycle を実装しており、JVM チェックポイントリストアをサポートするために、オプションで Spring 管理の Bean として宣言できます。

導入:
6.2
作成者:
Arjen Poutsma, Juergen Hoeller, Sebastien Deleuze
  • コンストラクターの詳細

    • 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

      public void setConnectTimeout(DurationSE connectTimeout)
      DurationSE 値を持つ setConnectTimeout(int) のバリアント。
    • setReadTimeout

      public void setReadTimeout(DurationSE timeout)
      基盤となるクライアントの読み取りタイムアウト値を設定します。実質的には、HttpClient.responseTimeout(Duration) のショートカットです。

      デフォルトでは 10 秒に設定されています。

      パラメーター:
      timeout - 読み取りタイムアウト値(ミリ秒単位)。0 より大きい必要があります。
    • setReadTimeout

      public void setReadTimeout(long readTimeout)
      長い値を持つ setReadTimeout(Duration) のバリアント。
    • createRequest

      public ClientHttpRequest createRequest(URISE uri, HttpMethod httpMethod) throws IOExceptionSE
      インターフェースからコピーされた説明: ClientHttpRequestFactory
      指定された URI および HTTP メソッドの新しい ClientHttpRequest を作成します。

      返されたリクエストは、ClientHttpRequest.execute() を呼び出して書き込み、実行できます。

      次で指定:
      インターフェース ClientHttpRequestFactorycreateRequest 
      パラメーター:
      uri - リクエストを作成する URI
      httpMethod - 実行する HTTP メソッド
      戻り値:
      作成されたリクエスト
      例外:
      IOExceptionSE - I/O エラーの場合
    • start

      public void start()
      インターフェースからコピーされた説明: Lifecycle
      このコンポーネントを起動します。

      コンポーネントがすでに実行されている場合は、例外をスローしないでください。

      コンテナーの場合、これにより、自動起動しないコンポーネントも含め、適用されるすべてのコンポーネントにハードスタートシグナルが伝播されます。

      次で指定:
      インターフェース Lifecyclestart 
      関連事項:
    • stop

      public void stop()
      インターフェースからコピーされた説明: Lifecycle
      このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle とその stop(Runnable) バリアントの実装を検討してください。

      この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、Lifecycle Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。

      コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。

      コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。

      次で指定:
      インターフェース Lifecyclestop 
      関連事項:
    • isRunning

      public boolean isRunning()
      インターフェースからコピーされた説明: Lifecycle
      このコンポーネントが現在実行されているかどうかを確認します。

      コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、true を返します。

      次で指定:
      インターフェース LifecycleisRunning 
      戻り値:
      コンポーネントが現在実行中かどうか
    • getPhase

      public int getPhase()
      インターフェースからコピーされた説明: SmartLifecycle
      このライフサイクルオブジェクトが実行されるはずのフェーズを返します。

      デフォルトの実装は、通常の Lifecycle 実装の前に stop() コールバックを実行できるようにするために SmartLifecycle.DEFAULT_PHASE を返します。

      次で指定:
      インターフェース PhasedgetPhase 
      次で指定:
      インターフェース SmartLifecyclegetPhase 
      関連事項: