クラス DefaultLifecycleProcessor
java.lang.ObjectSE
org.springframework.context.support.DefaultLifecycleProcessor
- 実装されたすべてのインターフェース:
Aware
、BeanFactoryAware
、Lifecycle
、LifecycleProcessor
public class DefaultLifecycleProcessor
extends ObjectSE
implements LifecycleProcessor, BeanFactoryAware
Spring の
LifecycleProcessor
戦略のデフォルトの実装。 特定のフェーズ、起動 / シャットダウン時、ConfigurableApplicationContext
での明示的な開始 / 停止対話のグループ内の Lifecycle
Bean および SmartLifecycle
Bean との対話を提供します。
6.1 では、これには、org.crac:crac
がクラスパスに依存する場合の JVM チェックポイント / リストア (プロジェクト CRaC) のサポートも含まれています。
- 導入:
- 3.0
- 作成者:
- Mark Fisher, Juergen Hoeller, Sebastien Deleuze
フィールドサマリー
コンストラクターのサマリー
方法の概要
修飾子と型メソッド説明該当するすべての Lifecycle Bean: すでに作成されているすべてのシングルトンと、すべての SmartLifecycle Bean(lazy-init としてマークされている場合も含む)を取得します。protected int
指定された Bean のライフサイクルフェーズを決定します。boolean
このコンポーネントが現在実行されているかどうかを確認します。void
onClose()
自動停止コンポーネントなどのコンテキストクローズフェーズの通知。void
自動起動コンポーネントなどのコンテキストリフレッシュの通知。void
setBeanFactory
(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。void
setTimeoutForShutdownPhase
(int phase, long timeout) 特定のフェーズ (同じ「フェーズ」値を持つSmartLifecycle
Bean のグループ) のシャットダウンに割り当てられる最大時間を指定します。void
setTimeoutPerShutdownPhase
(long timeoutPerShutdownPhase) 任意のフェーズ (同じ「フェーズ」値を持つSmartLifecycle
Bean のグループ) のシャットダウンに割り当てられる最大時間をミリ秒単位で指定します。void
setTimeoutsForShutdownPhases
(MapSE<IntegerSE, LongSE> timeoutsForShutdownPhases) 指定された各フェーズ (同じ「フェーズ」値を持つSmartLifecycle
Bean のグループ) のシャットダウンに割り当てられる最大時間を指定します。void
start()
Lifecycle
を実装し、まだ実行されていないすべての登録済み Bean を開始します。void
stop()
Lifecycle
を実装し 、現在実行中のすべての登録済み Bean を停止します。
フィールドの詳細
CHECKPOINT_PROPERTY_NAME
共通コンテキストチェックポイントのプロパティ名: "spring.context.checkpoint"。- 導入:
- 6.1
- 関連事項:
ON_REFRESH_VALUE
Core.checkpointRestore()
- 定数フィールド値
EXIT_PROPERTY_NAME
コンテキストが特定のフェーズに達したときに JVM を終了するためのプロパティ名: "spring.context.exit"。- 導入:
- 6.1
- 関連事項:
ON_REFRESH_VALUE
コンテキストチェックポイントと終了プロパティの認識された値: "onRefresh"。- 導入:
- 6.1
- 関連事項:
コンストラクターの詳細
DefaultLifecycleProcessor
public DefaultLifecycleProcessor()
メソッドの詳細
setTimeoutsForShutdownPhases
指定された各フェーズ (同じ「フェーズ」値を持つSmartLifecycle
Bean のグループ) のシャットダウンに割り当てられる最大時間を指定します。特定のタイムアウトが設定されていない場合は、シャットダウンフェーズごとのデフォルトのタイムアウトが適用されます: 6.2 の時点では 10000 ミリ秒 (10 秒)。
- パラメーター:
timeoutsForShutdownPhases
- 位相値(SmartLifecycle.getPhase()
に一致)と対応するタイムアウト値のマップ (ミリ秒単位)- 導入:
- 6.2
- 関連事項:
setTimeoutForShutdownPhase
public void setTimeoutForShutdownPhase(int phase, long timeout) 特定のフェーズ (同じ「フェーズ」値を持つSmartLifecycle
Bean のグループ) のシャットダウンに割り当てられる最大時間を指定します。特定のタイムアウトが設定されていない場合は、シャットダウンフェーズごとのデフォルトのタイムアウトが適用されます: 6.2 の時点では 10000 ミリ秒 (10 秒)。
- パラメーター:
phase
- 位相値 (SmartLifecycle.getPhase()
に一致する)timeout
- 対応するタイムアウト値 (ミリ秒単位)- 導入:
- 6.2
- 関連事項:
setTimeoutPerShutdownPhase
public void setTimeoutPerShutdownPhase(long timeoutPerShutdownPhase) 任意のフェーズ (同じ「フェーズ」値を持つSmartLifecycle
Bean のグループ) のシャットダウンに割り当てられる最大時間をミリ秒単位で指定します。デフォルト値は、6.2 の時点で 10000 ミリ秒 (10 秒) です。
setBeanFactory
インターフェースからコピーされた説明:BeanFactoryAware
所有ファクトリを Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()
またはカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanFactoryAware
のsetBeanFactory
- パラメーター:
beanFactory
- 所有 BeanFactory(非null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項:
start
public void start()Lifecycle
を実装し、まだ実行されていないすべての登録済み Bean を開始します。SmartLifecycle
を実装する Bean は、その「フェーズ」内で開始され、すべてのフェーズは最低値から最高値の順に並べられます。SmartLifecycle
を実装しないすべての Bean は、デフォルトのフェーズ 0 で開始されます。別の Bean の依存関係として宣言された Bean は、宣言されたフェーズに関係なく、依存する Bean の前に開始されます。stop
public void stop()Lifecycle
を実装し 、現在実行中のすべての登録済み Bean を停止します。SmartLifecycle
を実装する Bean は、その「フェーズ」内で停止し、すべてのフェーズは最高値から最低値へと順序付けられます。SmartLifecycle
を実装しないすべての Bean は、デフォルトのフェーズ 0 で停止します。別の Bean に依存していると宣言された Bean は、宣言されたフェーズに関係なく、依存関係 Bean の前に停止します。onRefresh
public void onRefresh()インターフェースからコピーされた説明:LifecycleProcessor
自動起動コンポーネントなどのコンテキストリフレッシュの通知。- 次で指定:
- インターフェース
LifecycleProcessor
のonRefresh
onClose
public void onClose()インターフェースからコピーされた説明:LifecycleProcessor
自動停止コンポーネントなどのコンテキストクローズフェーズの通知。- 次で指定:
- インターフェース
LifecycleProcessor
のonClose
isRunning
public boolean isRunning()インターフェースからコピーされた説明:Lifecycle
このコンポーネントが現在実行されているかどうかを確認します。コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、
true
を返します。getLifecycleBeans
該当するすべての Lifecycle Bean: すでに作成されているすべてのシングルトンと、すべての SmartLifecycle Bean(lazy-init としてマークされている場合も含む)を取得します。- 戻り値:
- キーとして Bean 名、値として Bean インスタンスを持つ、該当する Bean のマップ
getPhase
指定された Bean のライフサイクルフェーズを決定します。デフォルトの実装では、
Phased
インターフェースをチェックし、そうでない場合はデフォルトの 0 を使用します。他の / さらにポリシーを適用するためにオーバーライドできます。- パラメーター:
bean
- Bean をイントロスペクトする- 戻り値:
- フェーズ (整数値)
- 関連事項: