アノテーション情報は,次のような操作を実行したときに読み込まれます。
アノテーション情報を読み込むためには,まずクラスをロードする必要があります。
アノテーション情報を読み込むためにロードするクラスを次の図に示します。
図11-2 アノテーション情報を読み込むためにロードするクラス
EJB-JAR(ejb-jar.xmlのバージョンが2.1)に含まれるクラスファイルまたはWAR(web.xmlのバージョンが2.4)に含まれるクラスファイルからアノテーション情報を読み込む場合のアノテーションは,Cosminexus アプリケーションサーバ独自の仕様です。また,アプリケーションサーバでは,Cosminexus アプリケーションサーバ独自の仕様によって,J2EE 1.4の場合でもejb-jar.xmlの省略とアノテーションの使用ができます。
なお,J2EE 1.4以前に準拠したJ2EEアプリケーションの場合,EJB-JAR(ejb-jar.xmlのバージョンが2.1,またはejb-jar.xmlが省略されたもの)やWAR(web.xmlのバージョンが2.4)からライブラリJARを使用することはできません。指定しても無視されます。
アノテーション情報を取得するためにクラスをロードするかどうかは,各モジュールのバージョン,DD内の属性定義,およびJ2EEサーバで設定されているプロパティに依存します。
モジュールのバージョンがEJB-JAR(3.0)またはWAR(2.5)の場合のアノテーション情報を取得するかどうかの条件を次の表に示します。
表11-3 モジュールのバージョンがEJB-JAR(3.0)またはWAR(2.5)の場合
モジュール | DDのmetadata-completeタグ | DD省略 | |
---|---|---|---|
falseまたはタグを省略 | true | ||
EJB-JAR(3.0) | ○ | - | ○ |
WAR(2.5) | ○ | - | ○ |
モジュールのバージョンがEJB-JAR(2.1)またはWAR(2.4)の場合のアノテーション情報を取得するかどうかの条件を次の表に示します。
表11-4 モジュールのバージョンがEJB-JAR(2.1)またはWAR(2.4)の場合
モジュール | J2EEサーバのプロパティ ejbserver.deploy.applications.metadata_complete | ||
---|---|---|---|
falseまたはプロパティを省略時 | true | ||
EJB-JAR(2.1) | ○ | - | |
WAR(2.4) | WEB-INF/classes以下 | ○ | - |
WEB-INF/lib/JARファイル | - | - |
ライブラリJARのアノテーション情報を取得するかどうかを次の表に示します。
表11-5 ライブラリ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) | ○ | - | ○ | × | × | × |