クラス ReactorNettyClientRequestFactory

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

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

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

導入:
6.1
作成者:
Arjen Poutsma, Sebastien Deleuze
  • フィールドサマリー

    インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド

    DEFAULT_PHASE
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    圧縮が有効になっているデフォルトの HttpClient を使用して、ReactorNettyClientRequestFactory の新しいインスタンスを作成します。
    ReactorNettyClientRequestFactory(ReactorResourceFactory resourceFactory, FunctionSE<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> mapper)
    イベントループスレッド用の LoopResources や接続プール用の ConnectionProvider を含む、外部で管理される Reactor Netty リソースを持つコンストラクター。
    ReactorNettyClientRequestFactory(reactor.netty.http.client.HttpClient httpClient)
    指定された HttpClient に基づいて ReactorNettyClientRequestFactory の新しいインスタンスを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    createRequest(URISE uri, HttpMethod httpMethod)
    指定された URI および HTTP メソッドの新しい ClientHttpRequest を作成します。
    int
    このライフサイクルオブジェクトが実行されるはずのフェーズを返します。
    boolean
    このコンポーネントが現在実行されているかどうかを確認します。
    void
    setConnectTimeout(int connectTimeout)
    基になる接続タイムアウトをミリ秒単位で設定します。
    void
    基になる接続タイムアウトをミリ秒単位で設定します。
    void
    setExchangeTimeout(long exchangeTimeout)
    HTTP 交換のタイムアウトをミリ秒単位で設定します。
    void
    HTTP 交換のタイムアウトを設定します。
    void
    setReadTimeout(long readTimeout)
    基になる読み取りタイムアウトをミリ秒単位で設定します。
    void
    基礎となる読み取りタイムアウトを Duration として設定します。
    void
    このコンポーネントを起動します。
    void
    このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE

    インターフェース org.springframework.context.SmartLifecycle から継承されたメソッド

    isAutoStartup, stop
  • コンストラクターの詳細

    • ReactorNettyClientRequestFactory

      public ReactorNettyClientRequestFactory()
      圧縮が有効になっているデフォルトの HttpClient を使用して、ReactorNettyClientRequestFactory の新しいインスタンスを作成します。
    • ReactorNettyClientRequestFactory

      public ReactorNettyClientRequestFactory(reactor.netty.http.client.HttpClient httpClient)
      指定された HttpClient に基づいて ReactorNettyClientRequestFactory の新しいインスタンスを作成します。
      パラメーター:
      httpClient - ベースとなるクライアント
    • ReactorNettyClientRequestFactory

      public ReactorNettyClientRequestFactory(ReactorResourceFactory resourceFactory, FunctionSE<reactor.netty.http.client.HttpClient,reactor.netty.http.client.HttpClient> mapper)
      イベントループスレッド用の LoopResources や接続プール用の ConnectionProvider を含む、外部で管理される Reactor Netty リソースを持つコンストラクター。

      このコンストラクターは、クライアントを Reactor Netty グローバルリソースに参加させたくない場合にのみ使用してください。デフォルトでは、クライアントは HttpResources に保持されている Reactor Netty グローバルリソースに参加します。イベントループの同時実行には固定の共有リソースが優先されるため、これをお勧めします。ただし、Spring ApplicationContext が停止または閉じられたときに Reactor Netty グローバルリソースがシャットダウンされ、Spring ApplicationContext が停止したときに (たとえば JVM チェックポイントリストアを使用して) 適切に再起動されるようにするために、globalResources=true を使用して ReactorResourceFactory Bean を宣言することを検討してください。

      パラメーター:
      resourceFactory - リソースを取得するリソースファクトリ
      mapper - 作成されたクライアントをさらに初期化するためのマッパー
  • メソッドの詳細

    • setConnectTimeout

      public void setConnectTimeout(int connectTimeout)
      基になる接続タイムアウトをミリ秒単位で設定します。値 0 は、無限のタイムアウトを指定します。

      デフォルトは 30 秒です。

      関連事項:
      • Transport.option(ChannelOption, Object)
      • ChannelOption.CONNECT_TIMEOUT_MILLIS
    • setConnectTimeout

      public void setConnectTimeout(DurationSE connectTimeout)
      基になる接続タイムアウトをミリ秒単位で設定します。値 0 は、無限のタイムアウトを指定します。

      デフォルトは 30 秒です。

      関連事項:
      • Transport.option(ChannelOption, Object)
      • ChannelOption.CONNECT_TIMEOUT_MILLIS
    • setReadTimeout

      public void setReadTimeout(long readTimeout)
      基になる読み取りタイムアウトをミリ秒単位で設定します。

      デフォルトは 10 秒です。

    • setReadTimeout

      public void setReadTimeout(DurationSE readTimeout)
      基礎となる読み取りタイムアウトを Duration として設定します。

      デフォルトは 10 秒です。

    • setExchangeTimeout

      public void setExchangeTimeout(long exchangeTimeout)
      HTTP 交換のタイムアウトをミリ秒単位で設定します。

      デフォルトは 5 秒です。

    • setExchangeTimeout

      public void setExchangeTimeout(DurationSE exchangeTimeout)
      HTTP 交換のタイムアウトを設定します。

      デフォルトは 5 秒です。

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