クラス ReactorResourceFactory

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

public class ReactorResourceFactory extends ObjectSE implements InitializingBean, DisposableBean, Lifecycle
Spring ApplicationContext のライフサイクル内で Reactor Netty リソース(イベントループスレッドの LoopResources、接続プールの ConnectionProvider など)を管理するファクトリ。

このファクトリは InitializingBeanDisposableBeanLifecycle を実装しており、通常は Spring 管理の Bean として宣言されることが期待されます。

Lifecycle の停止 / 再起動後、構成された LoopResources および ConnectionProvider の新しいインスタンスが作成されるため、それらへの参照を更新する必要があることに注意してください。

導入:
6.1
作成者:
Rossen Stoyanchev, Brian Clozel, Sebastien Deleuze
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    addGlobalResourcesConsumer(ConsumerSE<reactor.netty.http.HttpResources> consumer)
    起動時にグローバル Reactor Netty リソースを構成するためのコンシューマーを追加します。
    void
    すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。
    void
    Bean の破棄時に、包含 BeanFactory によって呼び出されます。
    reactor.netty.resources.ConnectionProvider
    設定された ConnectionProvider を返します。
    reactor.netty.resources.LoopResources
    設定された LoopResources を返します。
    boolean
    このコンポーネントが現在実行されているかどうかを確認します。
    boolean
    このファクトリがグローバル HttpResources ホルダーを公開するかどうか。
    void
    setConnectionProvider(reactor.netty.resources.ConnectionProvider connectionProvider)
    これは、外部で管理されている ConnectionProvider インスタンスを提供する場合に使用します。
    void
    setConnectionProviderSupplier(SupplierSE<reactor.netty.resources.ConnectionProvider> supplier)
    グローバルリソースに参加したくない場合や、管理対象の ConnectionProvider の作成をカスタマイズしたい場合に、これを使用します。
    void
    setLoopResources(reactor.netty.resources.LoopResources loopResources)
    このオプションは、外部で管理されている LoopResources インスタンスを提供する場合に使用します。
    void
    setLoopResourcesSupplier(SupplierSE<reactor.netty.resources.LoopResources> supplier)
    グローバルリソースに参加したくない場合や、管理対象の LoopResources の作成をカスタマイズしたい場合に、これを使用します。
    void
    setShutdownQuietPeriod(DurationSE shutdownQuietPeriod)
    リソースをシャットダウンする前に待機する時間を設定します。
    void
    shutdownQuietPeriod 中にタスクが送信されたかどうかに関係なく、基になるリソースが破棄されるまで待機する最大時間を構成します。
    void
    setUseGlobalResources(boolean useGlobalResources)
    HttpResources を介してグローバル Reactor Netty リソースを使用するかどうか。
    void
    このコンポーネントを起動します。
    void
    このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。

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

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • ReactorResourceFactory

      public ReactorResourceFactory()
  • メソッドの詳細

    • setUseGlobalResources

      public void setUseGlobalResources(boolean useGlobalResources)
      HttpResources を介してグローバル Reactor Netty リソースを使用するかどうか。

      デフォルトは "true" です。この場合、このファクトリは Spring の ApplicationContext ライフサイクル内のグローバル Reactor Netty リソースを初期化および停止します。"false" に設定すると、ファクトリはグローバルリソースから独立してリソースを管理します。

      パラメーター:
      useGlobalResources - グローバルリソースを公開および管理するかどうか
      関連事項:
    • isUseGlobalResources

      public boolean isUseGlobalResources()
      このファクトリがグローバル HttpResources ホルダーを公開するかどうか。
    • addGlobalResourcesConsumer

      public void addGlobalResourcesConsumer(ConsumerSE<reactor.netty.http.HttpResources> consumer)
      起動時にグローバル Reactor Netty リソースを構成するためのコンシューマーを追加します。このオプションを使用すると、setUseGlobalResources(boolean) も有効になります。
      パラメーター:
      consumer - 適用するコンシューマー
      関連事項:
    • setConnectionProviderSupplier

      public void setConnectionProviderSupplier(SupplierSE<reactor.netty.resources.ConnectionProvider> supplier)
      グローバルリソースに参加したくない場合や、管理対象の ConnectionProvider の作成をカスタマイズしたい場合に、これを使用します。

      デフォルトでは、ConnectionProvider.elastic("http") が使用されます。

      userGlobalResources=false または setConnectionProvider(ConnectionProvider) が設定されている場合、このオプションは無視されることに注意してください。

      パラメーター:
      supplier - 使用するサプライヤー
    • setConnectionProvider

      public void setConnectionProvider(reactor.netty.resources.ConnectionProvider connectionProvider)
      これは、外部で管理されている ConnectionProvider インスタンスを提供する場合に使用します。
      パラメーター:
      connectionProvider - そのまま使用する接続プロバイダー
    • getConnectionProvider

      public reactor.netty.resources.ConnectionProvider getConnectionProvider()
      設定された ConnectionProvider を返します。
    • setLoopResourcesSupplier

      public void setLoopResourcesSupplier(SupplierSE<reactor.netty.resources.LoopResources> supplier)
      グローバルリソースに参加したくない場合や、管理対象の LoopResources の作成をカスタマイズしたい場合に、これを使用します。

      デフォルトでは、LoopResources.create("reactor-http") が使用されます。

      userGlobalResources=false または setLoopResources(LoopResources) が設定されている場合、このオプションは無視されることに注意してください。

      パラメーター:
      supplier - 使用するサプライヤー
    • setLoopResources

      public void setLoopResources(reactor.netty.resources.LoopResources loopResources)
      このオプションは、外部で管理されている LoopResources インスタンスを提供する場合に使用します。
      パラメーター:
      loopResources - そのまま使用するループリソース
    • getLoopResources

      public reactor.netty.resources.LoopResources getLoopResources()
      設定された LoopResources を返します。
    • setShutdownQuietPeriod

      public void setShutdownQuietPeriod(DurationSE shutdownQuietPeriod)
      リソースをシャットダウンする前に待機する時間を設定します。shutdownQuietPeriod 中にタスクが送信された場合、そのタスクは受け入れられることが保証され、shutdownQuietPeriod が最初からやり直します。

      デフォルトでは、これは 2 秒の LoopResources.DEFAULT_SHUTDOWN_QUIET_PERIOD に設定されていますが、システムプロパティ ReactorNetty.SHUTDOWN_QUIET_PERIOD でオーバーライドすることもできます。

      関連事項:
    • setShutdownTimeout

      public void setShutdownTimeout(DurationSE shutdownTimeout)
      shutdownQuietPeriod 中にタスクが送信されたかどうかに関係なく、基になるリソースが破棄されるまで待機する最大時間を構成します。

      デフォルトでは、これは 15 秒の LoopResources.DEFAULT_SHUTDOWN_TIMEOUT に設定されていますが、システムプロパティ ReactorNetty.SHUTDOWN_TIMEOUT でオーバーライドすることもできます。

      関連事項:
    • afterPropertiesSet

      public void afterPropertiesSet()
      インターフェースからコピーされた説明: InitializingBean
      すべての Bean プロパティを設定し、BeanFactoryAwareApplicationContextAware などを満たした後、包含 BeanFactory によって呼び出されます。

      このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。

      次で指定:
      インターフェース InitializingBeanafterPropertiesSet 
    • destroy

      public void destroy()
      インターフェースからコピーされた説明: DisposableBean
      Bean の破棄時に、包含 BeanFactory によって呼び出されます。
      次で指定:
      インターフェース DisposableBeandestroy 
    • 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 
      戻り値:
      コンポーネントが現在実行中かどうか