Sun GlassFish Enterprise Server v3 管理ガイド

第 9 章 ライフサイクルモジュールの管理

この章では、Sun GlassFishTMEnterprise Server v3 環境でライフサイクルモジュールを管理する手順について説明します。

ここでは、次のテーマを取り上げます。

本章で説明するタスクを管理コンソールから実行する手順については、管理コンソールのオンラインヘルプを参照してください。

ライフサイクルモジュールについて

「ライフサイクルモジュール」は初期化サービスとも呼ばれ、Enterprise Server 環境内で短期的または長期的な Java ベースタスクを実行する手段として利用できます。これらのモジュールはサーバーの起動時に自動的に開始され、サーバーのライフサイクルのさまざまな段階で通知を受け取ります。ライフサイクルモジュールの設定済みのプロパティーは、サーバーの初期化中にプロパティーとして渡されます。

ライフサイクルモジュールのすべてのクラスとインタフェースは、as-install /glassfish/modules/glassfish-api.jar ファイルに格納されています。

ライフサイクルモジュールは次の Enterprise Server イベントを待機し、イベントに応じてタスクを実行します。

  1. 「初期化」。サーバーは構成を読み取り、組み込みサブシステム (セキュリティーサービスやロギングサービス) を初期化して、コンテナを作成します。

  2. 「起動」。サーバーは配備されたアプリケーションを読み込んで初期化します。

  3. 「実行可能」。サーバーは要求の処理を開始します。

  4. 「シャットダウン」。サーバーはアプリケーションをシャットダウンして停止します。

  5. 「終了」。サーバーはコンテナ、組み込みサブシステム、およびサーバー実行環境を終了します。

これらのイベントは LifecycleEvent クラスで定義されます。ライフサイクルモジュールの作成については、『Sun GlassFish Enterprise Server v3 Application Development Guide』の第 13 章「Developing Lifecycle Listeners」を参照してください。


注 –

is-failure-fatal 設定が true に設定されている場合は (デフォルトでは false)、ライフサイクルモジュールで障害が発生したときにサーバーの初期化または起動が中止されます。ただし、シャットダウンまたは終了は実行されます。


ライフサイクルモジュールの設定

ここでは、次のテーマを取り上げます。

Procedureライフサイクルモジュールを作成する

ライフサイクルモジュールを作成するには、リモートモードで create-lifecycle-module サブコマンドを使用します。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. create-lifecycle-module(1) サブコマンドを使用して、新しいライフサイクルモジュールを作成します。

    サブコマンドのオプションとプロパティーについては、このマニュアルページに記載されています。

  3. サーバーを再起動して、変更を有効にします。

    「ドメインの再起動」を参照してください。


例 9–1 ライフサイクルモジュールの作成

この例では、customSetup というライフサイクルモジュールを作成します。


asadmin> create-lifecycle-module --classname "com.acme.CustomSetup" 
--classpath "/export/customSetup" --loadorder 1 --failurefatal=true 
--description "this is a sample customSetup" 
--property rmi="Server\=acme1\:7070":timeout=30 customSetup
Command create-lifecycle-module executed successfully

参照

コマンド行に asadmin help create-lifecycle-module と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

Procedureライフサイクルモジュールを一覧表示する

既存のライフサイクルモジュールを一覧表示するには、リモートモードで list-lifecycle-modules サブコマンドを使用します。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. list-lifecycle-modules(1) サブコマンドを使用して、ライフサイクルモジュールを一覧表示します。


例 9–2 ライフサイクルモジュールの一覧表示

この例では、既存のライフサイクルモジュールを一覧表示します。


asadmin> list-lifecycle-modules
WSTCPConnectorLCModule
Command list-lifecycle-modules executed successfully

参照

コマンド行に asadmin help list-lifecycle-modules と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

Procedureライフサイクルモジュールを更新する

set サブコマンドを使用して、既存のライフサイクルモジュールを更新します。

  1. get(1) サブコマンドを使用して、ライフサイクルモジュールの更新可能なプロパティーを一覧表示します。

    次に例を示します (シングルモード)。


    asadmin get "*" | grep sampleLCM
    applications.application.sampleLCMmodule.availability-enabled=false
    applications.application.sampleLCMmodule.directory-deployed=false
    applications.application.sampleLCMmodule.enabled=true
    applications.application.sampleLCMmodule.name=sampleLCMmodule
    applications.application.sampleLCMmodule.object-type=user
    applications.application.sampleLCMmodule.property.class-name=example.lc.SampleModule
    applications.application.sampleLCMmodule.property.classpath=/build/lcm.jar
    applications.application.sampleLCMmodule.property.is-failure-fatal=false
    applications.application.sampleLCMmodule.property.isLifecycle=true
  2. set(1) サブコマンドを使用して、ライフサイクルモジュールを更新します。

  3. サーバーを再起動して、変更を有効にします。

    「ドメインの再起動」を参照してください。


例 9–3 ライフサイクルモジュールの更新

この例では、classpath プロパティーを更新します。


sadmin> set applications.application.sampleLCMmodule.
property.classpath=/build/lcm_new.jarapplications.application.
sampleLCMmodule.property.classpath=/build/lcm_new.jarCommand set executed successfully.

参照

コマンド行に asadmin help set と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。

Procedureライフサイクルモジュールを削除する

ライフサイクルモジュールを削除するには、リモートモードで delete-lifecycle-module サブコマンドを使用します。

  1. サーバーが実行されていることを確認します。

    リモートサブコマンドには、実行中のサーバーが必要です。

  2. list-lifecycle-modules(1) サブコマンドを使用して、現在のライフサイクルモジュールを一覧表示します。

  3. delete-lifecycle-module(1) サブコマンドを使用して、ライフサイクルモジュールを削除します。


例 9–4 ライフサイクルモジュールの削除

この例では、customSetup というライフサイクルモジュールを削除します。


asadmin> delete-lifecycle-module customSetup
Command delete-lifecycle-module executed successfully

参照

コマンド行に asadmin help delete-lifecycle-module と入力して、このサブコマンドの完全な構文とオプションを確認することもできます。