インターフェース Lifecycle
- すべての既知のサブインターフェース:
ConfigurableApplicationContext
、ConfigurableWebApplicationContext
、LifecycleProcessor
、MessageListenerContainer
、SmartLifecycle
- すべての既知の実装クラス:
AbstractApplicationContext
、AbstractBrokerMessageHandler
、AbstractHandshakeHandler
、AbstractJmsListeningContainer
、AbstractMessageListenerContainer
、AbstractPollingMessageListenerContainer
、AbstractRefreshableApplicationContext
、AbstractRefreshableConfigApplicationContext
、AbstractRefreshableWebApplicationContext
、AbstractXmlApplicationContext
、AnnotatedEndpointConnectionManager
、AnnotationConfigApplicationContext
、AnnotationConfigWebApplicationContext
、CachingConnectionFactory
、ClassPathXmlApplicationContext
、ConnectionManagerSupport
、DefaultHandshakeHandler
、DefaultLifecycleProcessor
、DefaultMessageListenerContainer
、DefaultSockJsService
、EndpointConnectionManager
、ExecutorConfigurationSupport
、FileSystemXmlApplicationContext
、GenericApplicationContext
、GenericGroovyApplicationContext
、GenericMessageEndpointManager
、GenericWebApplicationContext
、GenericXmlApplicationContext
、GroovyWebApplicationContext
、HandshakeWebSocketService
、JettyWebSocketClient
、JettyXhrTransport
、JmsListenerEndpointRegistry
、JmsMessageEndpointManager
、ReactorClientHttpConnector
、ReactorClientHttpRequestFactory
、ReactorNettyClientRequestFactory
、ReactorResourceFactory
、ReactorResourceFactory
、ScheduledExecutorFactoryBean
、SchedulerFactoryBean
、SimpAnnotationMethodMessageHandler
、SimpleAsyncTaskScheduler
、SimpleBrokerMessageHandler
、SimpleMessageListenerContainer
、SingleConnectionFactory
、SockJsClient
、SockJsHttpRequestHandler
、StaticApplicationContext
、StaticWebApplicationContext
、StompBrokerRelayMessageHandler
、SubProtocolWebSocketHandler
、ThreadPoolExecutorFactoryBean
、ThreadPoolTaskExecutor
、ThreadPoolTaskScheduler
、TransportHandlingSockJsService
、UserDestinationMessageHandler
、WebSocketAnnotationMethodMessageHandler
、WebSocketConnectionManager
、WebSocketHandlerMapping
、WebSocketHttpRequestHandler
、WebSocketStompClient
、WebSocketTransport
、WebSocketTransportHandler
、XmlWebApplicationContext
SmartLifecycle
を実装することを検討してください。 コンポーネント (通常は Spring コンテキストで定義された Spring Bean) とコンテナー (通常は Spring ApplicationContext
自体) の両方で実装できます。コンテナーは、実行時の停止 / 再起動シナリオなど、各コンテナー内で適用されるすべてのコンポーネントに開始 / 停止シグナルを伝播します。
直接呼び出しまたは JMX を介した管理操作に使用できます。後者の場合、MBeanExporter
は通常 InterfaceBasedMBeanInfoAssembler
で定義され、アクティビティ制御されたコンポーネントの可視性をライフサイクルインターフェースに制限します。
現在の Lifecycle
インターフェースは、 トップレベルのシングルトン Bean でのみサポートされていることに注意してください。他のコンポーネントでは、Lifecycle
インターフェースは検出されないままなので無視されます。また、拡張 SmartLifecycle
インターフェースは、アプリケーションコンテキストの起動およびシャットダウンフェーズとの高度な統合を提供することに注意してください。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller
- 関連事項:
方法の概要
メソッドの詳細
start
void start()このコンポーネントを起動します。コンポーネントがすでに実行されている場合は、例外をスローしないでください。
コンテナーの場合、これは適用されるすべてのコンポーネントに開始シグナルを伝播します。
stop
void stop()このメソッドを返すとコンポーネントが完全に停止するように、通常は同期的にこのコンポーネントを停止します。非同期停止動作が必要な場合は、SmartLifecycle
とそのstop(Runnable)
バリアントの実装を検討してください。この停止通知は破棄前に送信されるとは限らないことに注意してください。通常のシャットダウンでは、一般的な破棄コールバックが伝播される前に、
Lifecycle
Bean は最初に停止通知を受信します。ただし、コンテキストの存続期間中のホットリフレッシュまたは中断されたリフレッシュ試行では、特定の Bean の destroy メソッドが、停止シグナルを事前に考慮することなく呼び出されます。コンポーネントが実行されていない(まだ開始されていない)場合は、例外をスローしないでください。
コンテナーの場合、これは停止シグナルを適用するすべてのコンポーネントに伝播します。
isRunning
boolean isRunning()このコンポーネントが現在実行されているかどうかを確認します。コンテナーの場合、これは、適用されるすべてのコンポーネントが現在実行されている場合にのみ、
true
を返します。- 戻り値:
- コンポーネントが現在実行中かどうか