クラス ReactorResourceFactory
- 実装済みのインターフェース一覧:
DisposableBean、InitializingBean、Lifecycle
- 既知の直属サブクラス
ReactorResourceFactory
ApplicationContext のライフサイクル内で Reactor Netty リソース(イベントループスレッドの LoopResources、接続プールの ConnectionProvider など)を管理するファクトリ。 このファクトリは InitializingBean、DisposableBean、Lifecycle を実装しており、通常は Spring 管理の Bean として宣言されることが期待されます。
Lifecycle の停止 / 再起動後、構成された LoopResources および ConnectionProvider の新しいインスタンスが作成されるため、それらへの参照を更新する必要があることに注意してください。
- 導入:
- 6.1
- 作成者:
- Rossen Stoyanchev, Brian Clozel, Sebastien Deleuze
コンストラクター概要
コンストラクター方法の概要
修飾子と型メソッド説明voidaddGlobalResourcesConsumer(ConsumerSE<reactor.netty.http.HttpResources> consumer) 起動時にグローバル Reactor Netty リソースを構成するためのコンシューマーを追加します。voidvoiddestroy()Bean の破棄時に、包含BeanFactoryによって呼び出されます。reactor.netty.resources.ConnectionProvider設定されたConnectionProviderを返します。reactor.netty.resources.LoopResources設定されたLoopResourcesを返します。booleanこのコンポーネントが現在実行されているかどうかを確認します。booleanこのファクトリがグローバルHttpResourcesホルダーを公開するかどうか。voidsetConnectionProvider(reactor.netty.resources.ConnectionProvider connectionProvider) これは、外部で管理されているConnectionProviderインスタンスを提供する場合に使用します。voidsetConnectionProviderSupplier(SupplierSE<reactor.netty.resources.ConnectionProvider> supplier) グローバルリソースに参加したくない場合や、管理対象のConnectionProviderの作成をカスタマイズしたい場合に、これを使用します。voidsetLoopResources(reactor.netty.resources.LoopResources loopResources) このオプションは、外部で管理されているLoopResourcesインスタンスを提供する場合に使用します。voidsetLoopResourcesSupplier(SupplierSE<reactor.netty.resources.LoopResources> supplier) グローバルリソースに参加したくない場合や、管理対象のLoopResourcesの作成をカスタマイズしたい場合に、これを使用します。voidsetShutdownQuietPeriod(DurationSE shutdownQuietPeriod) リソースをシャットダウンする前に待機する時間を設定します。voidsetShutdownTimeout(DurationSE shutdownTimeout) shutdownQuietPeriod中にタスクが送信されたかどうかに関係なく、基になるリソースが破棄されるまで待機する最大時間を構成します。voidsetUseGlobalResources(boolean useGlobalResources) HttpResourcesを介してグローバル Reactor Netty リソースを使用するかどうか。voidstart()このコンポーネントを起動します。voidstop()このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。
コンストラクターの詳細
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
起動時にグローバル 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
グローバルリソースに参加したくない場合や、管理対象の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
リソースをシャットダウンする前に待機する時間を設定します。shutdownQuietPeriod中にタスクが送信された場合、そのタスクは受け入れられることが保証され、shutdownQuietPeriodが最初からやり直します。デフォルトでは、これは 2 秒の
LoopResources.DEFAULT_SHUTDOWN_QUIET_PERIODに設定されていますが、システムプロパティReactorNetty.SHUTDOWN_QUIET_PERIODでオーバーライドすることもできます。setShutdownTimeout
shutdownQuietPeriod中にタスクが送信されたかどうかに関係なく、基になるリソースが破棄されるまで待機する最大時間を構成します。デフォルトでは、これは 15 秒の
LoopResources.DEFAULT_SHUTDOWN_TIMEOUTに設定されていますが、システムプロパティReactorNetty.SHUTDOWN_TIMEOUTでオーバーライドすることもできます。afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBeanすべての Bean プロパティを設定し、BeanFactoryAware、ApplicationContextAwareなどを満たした後、包含BeanFactoryによって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBean内のafterPropertiesSet
destroy
public void destroy()インターフェースからコピーされた説明:DisposableBeanBean の破棄時に、包含BeanFactoryによって呼び出されます。- 次で指定:
- インターフェース
DisposableBean内のdestroy
start
public void start()インターフェースからコピーされた説明:Lifecycleこのコンポーネントを起動します。コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。
stop
public void stop()インターフェースからコピーされた説明:Lifecycleこのメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycleとそのstop(Runnable)バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
LifecycleBean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
isRunning
public boolean isRunning()インターフェースからコピーされた説明:Lifecycleこのコンポーネントが現在実行されているかどうかを確認します。コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、
trueを返します。