クラス ReactorClientHttpRequestFactory

java.lang.ObjectSE
org.springframework.http.client.ReactorClientHttpRequestFactory
実装されたすべてのインターフェース:
LifecyclePhasedSmartLifecycleClientHttpRequestFactory
既知の直属サブクラス
ReactorNettyClientRequestFactory

public class ReactorClientHttpRequestFactory extends ObjectSE implements ClientHttpRequestFactory, SmartLifecycle
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
    このライフサイクルオブジェクトが実行されるはずのフェーズを返します。
    boolean
    このコンポーネントが現在実行されているかどうかを確認します。
    void
    setConnectTimeout(int connectTimeout)
    基盤となるクライアントの接続タイムアウト値を設定します。
    void
    DurationSE 値を持つ setConnectTimeout(int) のバリアント。
    void
    setExchangeTimeout(long exchangeTimeout)
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    6.2 以降では、デフォルトで設定されなくなり (以前は 5 秒)、代わりに Reactor、Netty、HttpClient のタイムアウト構成が使用されます。
    void
    非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。
    6.2 以降では、デフォルトで設定されなくなり (以前は 5 秒)、代わりに Reactor、Netty、HttpClient のタイムアウト構成が使用されます。
    void
    setReadTimeout(long readTimeout)
    長い値を持つ setReadTimeout(Duration) のバリアント。
    void
    基盤となるクライアントの読み取りタイムアウト値を設定します。
    void
    このコンポーネントを起動します。
    void
    このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。

    クラス 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 を使用します。
      関連事項:
    • 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) のバリアント。
    • setExchangeTimeout

      @DeprecatedSE(since="6.2", forRemoval=true) public void setExchangeTimeout(long exchangeTimeout)
      非推奨、削除予定: この 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

      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 
      関連事項: