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

[目次][用語][索引][前へ][次へ]

12.3 ロード対象のクラスとロード時に必要なクラスパス

アノテーション情報は,次のような操作を実行したときに読み込まれます。

注※
対象となるのはライブラリJARのクラスです。

アノテーション情報を読み込むためには,まずクラスをロードする必要があります。

アノテーション情報を読み込むためにロードするクラスを次の図に示します。

図12-2 アノテーション情報を読み込むためにロードするクラス

[図データ]

なお,EJB-JAR(ejb-jar.xmlのバージョンが2.1)に含まれるクラスファイルまたはWAR(web.xmlのバージョンが2.4)に含まれるクラスファイルからアノテーション情報を読み込む場合のアノテーションは,アプリケーションサーバ独自の仕様です。ただし,この機能は,旧バージョンとの互換機能です。詳細は,マニュアル「アプリケーションサーバ 機能解説 互換編」の「5.4 EJB 2.1とServlet 2.4でのアノテーションの利用」を参照してください。

なお,J2EE 1.4以前に準拠したJ2EEアプリケーションの場合,EJB-JAR(ejb-jar.xmlのバージョンが2.1,またはejb-jar.xmlが省略されたもの)やWAR(web.xmlのバージョンが2.4)からライブラリJARを使用することはできません。指定しても無視されます。

アノテーション情報を取得するためにクラスをロードするかどうかは,各モジュールのバージョン,およびDD内の属性定義に依存します。

モジュールのバージョンがEJB-JAR(3.0)またはWAR(2.5)の場合のアノテーション情報を取得するかどうかの条件を次の表に示します。

表12-3 モジュールのバージョンがEJB-JAR(3.0)またはWAR(2.5)の場合

モジュール DDのmetadata-completeタグ DD省略
falseまたはタグを省略 true
EJB-JAR(3.0)
WAR(2.5)

(凡例)
○:アノテーション情報を取得する
−:アノテーション情報を取得しない

ライブラリJARのアノテーション情報を取得するかどうかを次の表に示します。

表12-4 ライブラリJARの場合

モジュール Java EE 5以降に準拠するJ2EEアプリケーション J2EE 1.4以前に準拠するJ2EEアプリケーション
DDのmetadata-completeタグ DD省略 DDのmetadata-completeタグ DD省略
falseまたはタグを省略 true falseまたはタグを省略 true
EJB-JAR(3.0) × ×
WAR(2.5) × × ×

(凡例)
○:アノテーション情報を取得する(J2EEアプリケーションに一つでも該当するモジュールが含まれている場合,取得する)
−:アノテーション情報を取得しない
×:サポートされていない組み合わせである

注※ プロパティejbserver.deploy.annotations.load_libjars.enabledの値にfalseが設定されている場合,ライブラリJARのクラス内のアノテーション情報を取得しません。


注意
アノテーション情報を読み込むために必要なクラスが不足している場合,または不正なクラスがある場合は,アノテーション情報の取得処理中に例外が発生します。クラスのロード時に例外が発生した場合の挙動について次に示します。

アプリケーションサーバのバージョンが08-00以降の場合
例外ログ,およびメッセージKDJE42380-Wを出力し処理を続行します。なお,例外が発生した場合にエラーにしたいときは,プロパティejbserver.deploy.annotations.load_check.enabledの値をfalseからtrueへ変更してください。

アプリケーションサーバのバージョンが08-00よりも前の場合
エラーとなり処理を中断します。