Java サーバーライフサイクルモジュールはサーバーのライフサイクルイベントを待機する Java クラスであり、その目的は、サーバーの起動や停止といったサーバーイベントが発生するたびに特定のタスクを実行することにあります。
このサーバーは、Web サーバー環境内での Java ベースの短期または長期タスクの実行をサポートします。これらのタスクは、サーバー起動時に自動的に起動され、サーバー停止時にその旨を通知されます。このため、シングルトンや RMI サーバーのインスタンス化などのタスクを組み込むことが可能となります。
サーバーのライフサイクルについての簡単な説明を、次に示します。
初期化 — このフェーズには、構成の読み取り、組み込みサブシステム (ネーミング、セキュリティー、およびロギングのサービス) の初期化、および Web コンテナの作成が含まれます。
起動 — このフェーズには、配備済みアプリケーションの読み込みと初期化が含まれます
サービス — サーバーが要求を処理する準備が整いました
シャットダウン — このフェーズでは、読み込み済みのアプリケーションが停止および破棄されます。システムは停止準備中です。
終了 — このフェーズでは、組み込みサブシステムとサーバー実行時環境が終了されます。このフェーズ後に別のアクティビティーが発生することはありません。
再構成 — サーバーがサービス状態を保ちつつサーバースレッドが動的に再構成を行っているという、サーバーの一時的な状態。このフェーズは、サーバーの存続期間中に何回か発生する可能性があります。
構成を選択します。
構成のリストから構成を選択します。構成のリストを表示するには「構成」タブをクリックします。
「Java」>「ライフサイクルモジュール」タブをクリックします。
「新規」ボタンをクリックします。
次の各パラメータの値を入力します。
名前 — 新しいライフサイクルモジュールの有効な一意名を入力します。
有効 — このライフサイクルモジュールを有効にするには、このオプションを使用します。
クラス名 — 完全修飾 Java クラス名。このクラスは、com.sun.appserv.server.LifecycleListener インタフェースを実装しているべきです。このインタフェースの詳細については、『Developer's Guide』を参照してください。
クラスパス — 省略可能です。リスナークラスへのクラスパスを指定できます。
読み込み順序— 100 より大きい値。ライフサイクルイベントリスナーの読み込み順序。数の順番に従います。100 と等しいかそれより大きい読み込み順序を選択することをお勧めします。そうすれば、内部ライフサイクルモジュールとの衝突を回避できます。
読み込み時の障害 — このオプションを有効にすると、サーバーがリスナークラスからスローされた例外を致命的な障害として扱わないため、通常の起動が引き続き行われます。デフォルトでは無効です。
説明 — ライフサイクルモジュールについての簡単な説明を入力します。
プロパティー — プロパティーを使えば、Java ライフサイクルモジュールに引数を渡せます。新しいプロパティーを追加するには、「プロパティーを追加」ボタンをクリックし、名前、値、および説明のテキストを入力します。
サーバーライフサイクルリスナークラスはメインのサーバースレッドから同期的に呼び出されるため、リスナークラスがサーバーをブロックしないように、特別な注意を払う必要があります。リスナークラスは必要に応じてスレッドを作成できますが、それらのスレッドがシャットダウン/終了フェーズで停止されるようにする必要があります。
構成を選択します。
構成のリストから構成を選択します。構成のリストを表示するには「構成」タブをクリックします。
「Java」>「ライフサイクルモジュール」タブをクリックします。
ライフサイクルモジュールを選択し、「ライフサイクルモジュールを削除」ボタンをクリックします。
CLI の使用
次の例は、myLifecycleModule という名前の Java ライフサイクルモジュールを構成 test に対して作成する方法を示したものです。このモジュールはクラス com.MyLifecycleModule によって実装されています。
wadm> create-lifecycle-module --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --class=com.sun.webserver.tests.LifecycleClass LifecycleTest |
CLI リファレンスの create-lifecycle-module(1) を参照してください。
Java ライフサイクルモジュールを一覧表示するには、次のコマンドを実行します。
wadm> list-lifecycle-modules --config=test |
CLI リファレンスの list-lifecycle-modules(1) を参照してください。
Java ライフサイクルモジュールにプロパティーを追加するには、次のコマンドを実行します。
wadm> create-lifecycle-module-userprop --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --module=LifecycleTest info=Testing |
CLI リファレンスの create-lifecycle-module-userprop(1) を参照してください。
Java ライフサイクルモジュールのプロパティーを変更するには、次のコマンドを実行します。
wadm> set-lifecycle-module-prop --user=admin --password-file=admin.pwd --host=serverhost --port=8989 --config=config1 --module=LifecycleTest class-path=/space |
CLI リファレンスの set-lifecycle-module-prop(1) を参照してください