Cosminexus 機能解説

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

5.2.7 アノテーションの参照抑止

Cosminexusでは,EJB 2.1およびServlet 2.4仕様に基づいたアプリケーションでもアノテーションを使用できます。しかし,アノテーションの有無を判断するためにアプリケーションを解析するため,アノテーションを使用していない場合でも解析によるオーバーヘッドが大きくなります。また,リソースやほかのアプリケーションを参照するアプリケーションの場合,アノテーション解析時にクラスファイルの参照エラーが発生して,デプロイに失敗することがあります。アノテーションを使用しない場合は,アノテーション参照抑止機能を使用することで,J2EEサーバによるアノテーションの参照処理を抑止することができます。

アノテーション参照抑止機能は,J2EEサーバ単位で設定します。アノテーション参照抑止機能が有効になるのは,EJB 2.1およびServlet 2.4を使用したJ2EEアプリケーションです。アノテーション参照抑止機能を有効にした場合,アノテーションを記述したEJB 2.1またはServlet 2.4のモジュールを含むJ2EEアプリケーションは使用できなくなりますので,ご注意ください。アノテーション参照抑止機能の設定方法については,マニュアル「Cosminexus システム構築ガイド」のアノテーションの参照を抑止する設定についての説明を参照してください。

アノテーション抑止機能が有効になる範囲を次の表に示します。

表5-12 アノテーション抑止機能が有効になる範囲

J2EEアプリケーションに含まれるモジュール バージョン 有効/無効
EJB 1.1,2.0
2.1
Servlet 2.2,2.3
2.4

(凡例)○:有効になる −:無効になる


アノテーションを参照するタイミングを,アプリケーション参照抑止機能を使用する場合としない場合に分けて次の表に示します。

表5-13 アノテーションを参照するタイミング

タイミング
(実行したコマンド)
J2EEサーバの設定 アーカイブ形式のJ2EEアプリケーション 展開ディレクトリ形式のJ2EEアプリケーション
インポート時(cjimportapp) 使用する × ×
使用しない
インポート時(cjimportres※1 使用する ×
使用しない
開始時(cjstartapp※2 使用する × ×
使用しない ※3
リプレース時(cjreplaceapp) 使用する ×
使用しない
リロード時(cjreloadapp) 使用する ×
使用しない

(凡例)
使用しない:アプリケーション参照抑止機能を使用しない設定のJ2EEサーバ
使用する:アプリケーション参照抑止機能を使用する設定のJ2EEサーバ
○:アノテーションを参照する
×:アノテーションを参照しない
△:アノテーションを参照するが変更は反映されない
−:該当しない

注※1 cjimportresコマンドに引数「-type ejb」または「-type war」を指定して実行した場合です。

注※2 J2EEサーバの再起動時も含みます。

注※3 その前にJ2EEサーバを起動したときと設定が異なる場合だけアノテーションをロードします。

アノテーション参照抑止機能が有効になっているかどうかは,簡易構築定義ファイルの<configuration>タグ内のパラメタ「ejbserver.deploy.applications.metadata_complete」に設定された値を参照してください。パラメタの詳細については,マニュアル「Cosminexus 簡易構築・運用ガイド」およびマニュアル「Cosminexus リファレンス 定義編」を参照してください。