Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)


19.4.1 サーバ起動・停止フック処理の呼び出し順序

サーバ起動・停止フック機能を複数登録した場合の,サーバ起動・停止フック処理の呼び出し順序について説明します。

〈この項の構成〉

(1) 正常に起動,停止した場合

J2EEサーバ起動時には,登録されたクラス順にサーバ起動フック処理を行うserverInitializingメソッドが呼び出されます。また,J2EEサーバ停止時には,登録された逆順にサーバ停止フック処理を行うserverTerminatingメソッドが呼び出されます。

J2EEサーバが正常起動した場合の,サーバ起動・停止フック機能の呼び出し順序を次の図に示します。

図19‒1 サーバ起動・停止フック処理の呼び出し順序(正常起動時)

[図データ]

サーバ起動・停止フック処理を実装したA,B,Cの三つのクラスがあり,クラスA,クラスB,クラスCの順でクラスが登録されていることとします。サーバ起動フック処理では,正常に呼び出されると,クラスA,クラスB,クラスCの順でクラスが呼び出されます。サーバ停止フック処理では,クラスC,クラスB,クラスAの順でクラスが呼び出されます。

(2) サーバ起動フック処理中に例外が発生した場合

サーバ起動フック処理の実行中に例外が発生した場合の,サーバ起動・停止フック機能の呼び出し順序を次の図に示します。

図19‒2 サーバ起動・停止フック処理の呼び出し順序(起動フック処理中の例外発生時)

[図データ]

サーバ起動・停止フック処理を実装したA,B,Cの三つのクラスがあり,クラスA,クラスB,クラスCの順でクラスが登録されていることとします。クラスBのサーバ起動フック処理(serverInitializingメソッド)の実行中に例外が発生した場合は,クラスCのサーバ起動フック処理は呼び出されません。また,クラスCのサーバ停止フック処理(serverTerminatingメソッド)は呼び出されないで,クラスB,クラスAの順序でサーバ停止フック処理が呼び出されます。

(3) サーバ起動フック処理後に例外が発生した場合

サーバ起動フック処理の実行後に例外が発生した場合の,サーバ起動・停止フック機能の呼び出し順序を次の図に示します。

図19‒3 サーバ起動・停止フック処理の呼び出し順序(起動フック処理後の例外発生時)

[図データ]

サーバ起動・停止フック処理を実装したA,B,Cの三つのクラスがあり,クラスA,クラスB,クラスCの順でクラスが登録されていることとします。クラスBのサーバ起動フック処理(serverInitializingメソッド)の実行後に例外が発生した場合は,クラスCのサーバ起動フック処理は呼び出されません。また,サーバ停止フック処理は呼び出されません。