ライフサイクルモジュールは、GlassFish Serverクラスターの起動・通常停止時のライフサイクルイベント発生時に呼び出されるJavaアプリケーションです。
ライフサイクルモジュールは、GlassFish Serverクラスターの起動時に初期化され、ライフサイクルの各フェーズでイベント通知を受け取ります。ライフサイクルモジュールを作成、設定することで、データベースの初期化/回収処理やEJB呼出しなどの処理が行えます。
注意
強制停止時にはライフサイクルモジュールは呼び出されません。
ライフサイクルモジュールからJavaMailセッションをlookupすることはできません。ライフサイクルモジュールでJavaMailを使用したい場合は、JavaMailセッションではなくJavaMail APIを直接使用してください。
GlassFish Serverクラスターとライフサイクルモジュールの関係
GlassFish Serverクラスター多重時の場合、ライフサイクルモジュールはすべてのVMで実行されます。
ライフサイクルイベント
ライフサイクルイベントは、GlassFish Serverクラスターの起動・通常停止処理(ライフサイクル)の状態が変化する時に発生します。GlassFish Serverクラスターのライフサイクルイベントとライフサイクルモジュールで実装するhandleメソッドの処理タイミングは以下のとおりです。
起動処理
実行順 | イベント | handleEventメソッドの処理タイミング |
---|---|---|
1 | INIT_EVENT | WebコンテナとEJBコンテナの起動前に処理されます。 |
2 | STARTUP_EVENT | デプロイされたアプリケーションのロード前、初期化前に処理されます。 |
3 | READY_EVENT | デプロイされたアプリケーションのロード後、初期化後、ServletやEJBアプリケーションへのアクセス受付開始後に処理されます。 |
停止処理
実行順 | イベント | handleEventメソッドの処理タイミング |
---|---|---|
1 | SHUTDOWN_EVENT | Webサーバコネクタからのアクセス受付停止後、アプリケーションの廃棄後に処理されます。 |
2 | TERMINATION_EVENT | WebコンテナとEJBコンテナの停止後に処理されます。 |