Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
ここでは,アノテーション参照抑止機能の目的と適用範囲について説明します。
アノテーション参照抑止機能は,J2EEアプリケーション中のアノテーションの参照(解析処理)を実施するかどうかを設定する機能です。モジュール内のアノテーションの有無を判断するためには,アプリケーションの解析が必要です。しかし,すべてのアプリケーションを解析すると,アノテーションを使用していないアプリケーションの場合,不要なオーバーヘッドが発生します。また,リソースやほかのアプリケーションを参照するアプリケーションの場合,アノテーション解析時にクラスファイルの参照エラーが発生して,デプロイに失敗することがあります。
アノテーション参照抑止機能を使用すると,アノテーションを使用しない場合に,アノテーションの解析処理を抑止できます。
アノテーションの参照抑止機能は,Servlet 2.5以降の場合に使用できます。EJB 3.0以降の場合,アノテーション参照抑止機能は使用できません。
Servlet 2.5以降の場合の動作を次に示します。
アノテーション参照抑止機能の適用範囲は,アノテーションを含むモジュールの種類によって異なります。
アノテーション抑止機能の適用範囲を次の表に示します。
表12-10 アノテーション抑止機能の適用範囲
モジュールのバージョン | DDの有無と指定内容 | 参照抑止の範囲 | |||
---|---|---|---|---|---|
J2EEサーバ単位 | モジュール単位 | ||||
EJB | 1.1,2.0 | DDあり(metadata-complete属性なし) | − | − | |
2.1※1 | DDあり(metadata-complete属性なし) | ○※2 | − | ||
3.0以降 | DDなし | × | ○ | ||
DDあり(metadata-complete属性あり) | 省略 | × | ○ | ||
指定あり | × | ○※3 | |||
Servlet | 2.2,2.3 | DDあり(metadata-complete属性なし) | − | − | |
2.4※1 | DDあり(metadata-complete属性なし) | ○※2 | − | ||
2.5以降 | DDなし | × | ○※4 | ||
DDあり(metadata-complete属性あり) | 省略 | × | ○※4 | ||
指定あり | × | ○※4 |
(凡例)○:有効になる ×:使用できない −:該当しない
注※1 EJB 2.1およびSevlet 2.4でのアノテーションの利用は,旧バージョンとの互換用の機能です。詳細は,マニュアル「アプリケーションサーバ 機能解説 互換編」の「5.4 EJB 2.1とServlet 2.4でのアノテーションの利用」を参照してください。
注※2 有効にすると,アノテーションを記述したEJB 2.1またはServlet 2.4のモジュールを含むJ2EEアプリケーションは使用できなくなります。
注※3 値にtrueは指定できません。trueを指定した場合,J2EEサーバへのアプリケーションのインポートおよびリデプロイに失敗します。
注※4 Servlet3.0で追加された@HandlesTypesアノテーションはアノテーション参照抑止機能の対象になりません。
モジュール単位の設定はDDのmetadata-complete属性で設定します。J2EEサーバ単位の設定は,ejbserver.deploy.applications.metadata_completeプロパティで設定します。モジュール単位の設定とJ2EEサーバ単位の設定の組み合わせた場合にアノテーションが参照されるかどうかを次の表に示します。
表12-11 J2EEサーバ単位の設定とモジュール単位の設定の組み合わせ
モジュールのバージョン | モジュール単位の設定 | J2EEサーバ単位の設定 | |||
---|---|---|---|---|---|
プロパティの指定なし | ejbserver.deploy.applications.metadata_completeプロパティ | ||||
false | true | ||||
EJB 3.0以降 | DDなし | ○ | ○ | ○ | |
DDあり(metadata-complete属性あり) | 省略 | ○ | ○ | ○ | |
false | ○ | ○ | ○ | ||
true | −※ | −※ | −※ | ||
Servlet 2.5以降 | DDなし | ○ | ○ | ○ | |
DDあり(metadata-complete属性あり) | 省略 | ○ | ○ | ○ | |
false | ○ | ○ | ○ | ||
true | × | × | × |
(凡例)○:参照する ×:参照しない −:対象外
注※ DDのmetadata-complete属性にtrueを指定したEJB 3.0を含むアプリケーションは,インポートおよびリデプロイに失敗します。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.