クラス ReactorResourceFactory
- 実装されたすべてのインターフェース:
Aware
、DisposableBean
、InitializingBean
、ApplicationContextAware
、Lifecycle
、Phased
、SmartLifecycle
- 既知の直属サブクラス
ReactorResourceFactory
ApplicationContext
のライフサイクル内で Reactor Netty リソース(イベントループスレッドの LoopResources
、接続プールの ConnectionProvider
など)を管理するファクトリ。 このファクトリは SmartLifecycle
を実装し、通常は Spring 管理の Bean として宣言されることが予想されます。
SmartLifecycle
の停止 / 再起動後、構成された LoopResources
および ConnectionProvider
の新しいインスタンスが作成されるため、それらへの参照を更新する必要があることに注意してください。
- 導入:
- 6.1
- 作成者:
- Rossen Stoyanchev, Brian Clozel, Sebastien Deleuze, Juergen Hoeller
フィールドサマリー
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明void
addGlobalResourcesConsumer
(ConsumerSE<reactor.netty.http.HttpResources> consumer) 起動時にグローバル Reactor Netty リソースを構成するためのコンシューマーを追加します。void
ApplicationContext の外部で初期化された場合はリソースを起動します。void
destroy()
ApplicationContext の外部で初期化された場合はリソースを停止します。reactor.netty.resources.ConnectionProvider
設定されたConnectionProvider
を返します。reactor.netty.resources.LoopResources
設定されたLoopResources
を返します。int
getPhase()
このライフサイクルオブジェクトが実行されるはずのフェーズを返します。boolean
このコンポーネントが現在実行されているかどうかを確認します。boolean
このファクトリがグローバルHttpResources
ホルダーを公開するかどうか。void
setApplicationContext
(ApplicationContext applicationContext) ApplicationContext
の設定はオプションです。設定すると、Reactor リソースはlifecycle start
フェーズで初期化され、lifecycle stop
フェーズで閉じられます。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
setShutdownTimeout
(DurationSE shutdownTimeout) shutdownQuietPeriod
中にタスクが送信されたかどうかに関係なく、基になるリソースが破棄されるまで待機する最大時間を構成します。void
setUseGlobalResources
(boolean useGlobalResources) HttpResources
を介してグローバル Reactor Netty リソースを使用するかどうか。void
start()
このコンポーネントを起動します。void
stop()
このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
isAutoStartup, stop
コンストラクターの詳細
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")
が使用されます。isUseGlobalResources()
がtrue
の場合、または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("webflux-http")
が使用されます。isUseGlobalResources()
がtrue
の場合、または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
でオーバーライドすることもできます。setApplicationContext
ApplicationContext
の設定はオプションです。設定されている場合、Reactor リソースはlifecycle start
フェーズで初期化され、lifecycle stop
フェーズで閉じられます。設定されていない場合は、それぞれafterPropertiesSet()
とdestroy()
で実行されます。- 次で指定:
- インターフェース
ApplicationContextAware
のsetApplicationContext
- パラメーター:
applicationContext
- このオブジェクトによって使用される ApplicationContext オブジェクト- 関連事項:
afterPropertiesSet
public void afterPropertiesSet()ApplicationContext の外部で初期化された場合、リソースを起動します。これは下位互換性のためです。推奨される方法は、ApplicationContext のlifecycle management
に依存することです。- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
- 関連事項:
destroy
public void destroy()ApplicationContext の外部で初期化された場合、リソースを停止します。これは下位互換性のためです。推奨される方法は、ApplicationContext のlifecycle management
に依存することです。- 次で指定:
- インターフェース
DisposableBean
のdestroy
- 関連事項:
start
public void start()インターフェースからコピーされた説明:Lifecycle
このコンポーネントを起動します。コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。
stop
public void stop()インターフェースからコピーされた説明:Lifecycle
このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle
とそのstop(Runnable)
バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
isRunning
public boolean isRunning()インターフェースからコピーされた説明:Lifecycle
このコンポーネントが現在実行されているかどうかを確認します。コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、
true
を返します。getPhase
public int getPhase()インターフェースからコピーされた説明:SmartLifecycle
このライフサイクルオブジェクトが実行されるはずのフェーズを返します。デフォルトの実装は、通常の
Lifecycle
実装の前にstop()
コールバックを実行できるようにするためにSmartLifecycle.DEFAULT_PHASE
を返します。- 次で指定:
- インターフェース
Phased
のgetPhase
- 次で指定:
- インターフェース
SmartLifecycle
のgetPhase
- 関連事項: