カスタム・サービスの作成
アプリケーション・サーバーの 1 つ以上のカスタム・サービスを作成できます。 各カスタム・サービスでは、サーバーの始動とシャットダウンの際にロードおよび初期化されるクラスを定義しています。 これらのクラスのそれぞれに、com.ibm.websphere.runtime.CustomService インターフェースを 実装する必要があります。カスタム・サービスを作成後、管理コンソールを使用して、 アプリケーション・サーバーのカスタム・サービスを構成します。
このタスクについて
カスタム・サービスは、コントローラーではなくサーバントで実行します。
例えば、サーバーの存続期間に始動されるサーバントが複数あり、
これらのサーバントは、WLM の必要に応じて、サーバー (コントローラー) の稼働後しばらくしてから始動される場合があるため、
カスタム・サービスが各サーバントの始動中に実行します。
サーバーが始動およびシャットダウンしたときに実行される
フック・ポイントを定義する必要がある場合は、
カスタム・サービス・クラスを作成し、次に管理コンソールを使用してカスタム・サービス・インスタンスを構成します。
アプリケーション・サーバーの始動時に、
カスタム・サービスの開始と初期化が行われます。
サーバーまたはノード・エージェントが
始動およびシャットダウンするときに実行されるルーチンを定義するには、
カスタム・サービス・クラスを作成し、カスタム・サービス・インスタンスを構成します。
アプリケーション・サーバーまたはノード・エージェントの始動時に、
カスタム・サービスの開始と初期化が行われます。
- 初期化およびシャットダウン・メソッドは、ランタイムに制御を戻す必要があります。
- すべてのカスタム・サービスの初期化メソッドが戻るまでは、サーバー・インスタンスに作業はディスパッチされません。
- 初期化およびシャットダウン・メソッドは、サービスごと、およびサーバー・インスタンスを構成するオペレーティング・システム・プロセスごとに 1 度だけ呼び出されます。
- 処理レベルの静的データの初期化 (処理を残さない) がサポートされます。
- JDBC RMLT (リソース・マネージャー・ローカル・トランザクション) 操作のみサポートされます。メソッドが戻される前に、 すべての作業単位 (UOW) を完了する必要があります。
- スレッドの作成はサポートされません。
- ソケットおよび I/O (ファイル入出力を除く) の作成はサポートされません。
- クライアント・コード、サーブレット、エンタープライズ Bean などの標準 Java™ Platform, Enterprise Edition (Java EE) コードの実行はサポートされません。
- Java Transaction API (JTA) インターフェースは使用できません。
- このフィーチャーは、Java EE サーバー・プロセスおよび分散汎用サーバー・プロセスでのみ使用可能です。
- ランタイムがシャットダウンを呼び出そうとする際、プロセスの終了前にシャットダウンが呼び出される保証はありません。
- リソースを要求する JNDI 操作はサポートされていません。
手順
タスクの結果
サーバーまたはノード・エージェントの始動および停止時に、
カスタム・サービスのロードと初期化が行われます。
サーバーの始動および停止時に、
カスタム・サービスのロードと初期化が行われます。
例
public class ServerInit implements com.ibm.websphere.runtime.CustomService
{
/**
* The initialize method is called by the application server runtime when the
* server starts. The Properties object that the application server passes
* to this method must contain all of the configuration information that this
* service needs to initialize properly.
*
* @param configProperties java.util.Properties
*/
static final java.lang.String externalConfigURLKey =
"com.ibm.websphere.runtime.CustomService.externalConfigURLKey";
static String ConfigFileName="";
public void initialize(java.util.Properties configProperties) throws Exception
{
if (configProperties.getProperty(externalConfigURLKey) != null)
{
ConfigFileName = configProperties.getProperty(externalConfigURLKey);
}
// Implement rest of initialize method
}
/**
* The shutdown method is called by the application server runtime when the
* server begins its shutdown processing.
*
public void shutdown() throws Exception
{
// Implement shutdown method
}
次のタスク
アプリケーション・サーバーまたはノード・エージェントを調べて、
カスタム・サービスの初期化メソッドおよびシャットダウン・メソッドが意図したとおりに実行されたことを確認してください。
アプリケーション・サーバーを調べて、
カスタム・サービスの初期化メソッドおよびシャットダウン・メソッドが意図したとおりに実行されたことを確認してください。