Cosminexus アプリケーションサーバ V8 機能解説 基本・開発編(コンテナ共通機能)
ここでは,アノテーション参照抑止機能の目的と適用範囲について説明します。
アノテーション参照抑止機能は,J2EEアプリケーション中のアノテーションの参照(解析処理)を実施するかどうかを設定する機能です。モジュール内のアノテーションの有無を判断するためには,アプリケーションの解析が必要です。しかし,すべてのアプリケーションを解析すると,アノテーションを使用していないアプリケーションの場合,不要なオーバーヘッドが発生します。また,リソースやほかのアプリケーションを参照するアプリケーションの場合,アノテーション解析時にクラスファイルの参照エラーが発生して,デプロイに失敗することがあります。
アノテーション参照抑止機能を使用すると,アノテーションを使用しない場合に,アノテーションの解析処理を抑止することができます。
アノテーションの参照を抑止する範囲および抑止方法は,EJB 2.1またはServlet 2.4の場合と,Servlet 2.5の場合で異なります。なお,アプリケーションサーバでは,EJB 3.0の場合,アノテーション参照抑止機能は使用できません。
アノテーション参照抑止機能の適用範囲は,アノテーションを含むモジュールの種類によって異なります。
アノテーション抑止機能の適用範囲を次の表に示します。
表11-11 アノテーション抑止機能の適用範囲
| モジュールのバージョン | DDの有無と指定内容 | 参照抑止の範囲 | |||
|---|---|---|---|---|---|
| J2EEサーバ単位 | モジュール単位 | ||||
| EJB | 1.1,2.0 | DDあり(metadata-complete属性なし) | − | − | |
| 2.1 | DDあり(metadata-complete属性なし) | ○※1 | − | ||
| 3.0 | DDなし | × | ○ | ||
| DDあり(metadata-complete属性あり) | 省略 | × | ○ | ||
| 指定あり | × | ○※2 | |||
| Servlet | 2.2,2.3 | DDあり(metadata-complete属性なし) | − | − | |
| 2.4 | DDあり(metadata-complete属性なし) | ○※1 | − | ||
| 2.5 | DDなし | × | ○ | ||
| DDあり(metadata-complete属性あり) | 省略 | × | ○ | ||
| 指定あり | × | ○ | |||
(凡例)○:有効になる ×:使用できない −:該当しない
注※1 有効にすると,アノテーションを記述したEJB 2.1またはServlet 2.4のモジュールを含むJ2EEアプリケーションは使用できなくなります。
注※2 値にtrueは指定できません。trueを指定した場合,J2EEサーバへのアプリケーションのインポートおよびリデプロイに失敗します。
モジュール単位の設定はDDのmetadata-complete属性で設定します。J2EEサーバ単位の設定は,ejbserver.deploy.applications.metadata_completeプロパティで設定します。モジュール単位の設定とJ2EEサーバ単位の設定の組み合わせた場合にアノテーションが参照されるかどうかを次の表に示します。
表11-12 J2EEサーバ単位の設定とモジュール単位の設定の組み合わせ
| モジュールのバージョン | モジュール単位の設定 | J2EEサーバ単位の設定 | |||
|---|---|---|---|---|---|
| プロパティの指定なし | ejbserver.deploy.applications.metadata_completeプロパティ | ||||
| false | true | ||||
| EJB 2.1,Servlet 2.4 | 設定できない | ○ | ○ | × | |
| 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) 2008, 2011, Hitachi, Ltd.