Java EE 5 では、デプロイメント情報を指定するアノテーションを使用できます。
アプリケーションに多数の Java クラスが含まれていると、アノテーションのデプロイメント処理時間が長くなる可能性があります。
パフォーマンスに対する影響を最小化するために、以下のいずれかの方式を使用できます。
- モジュールが Java EE 5 を使用する必要があるかどうか判別します。
モジュールが Java EE 5 を使用する必要がない場合、Java クラス内のアノテーションはスキャンされません。
- 代わりに、
metadata-complete
モジュールが Java EE 5 を使用し、アノテーションが含まれていない場合は、モジュール記述子内の属性。
この属性により、モジュールのアノテーション処理は無効になりますが、Java EE 5 モジュールは引き続き記述子ファイル内に置かれます。
アプリケーションのマイグレーションは行うが、アノテーションは追加しないという場合は、この属性値の使用を検討してください。
- ユーティリティー Java アーカイブ (JAR) ファイルにアノテーション情報が含まれていない場合は、共有ライブラリー内にこれらの JAR ファイルを配置するように、アプリケーションを再構成します。
metadata-complete 属性を設定できない場合は、この方式を考慮してください。
- WEB-INF¥lib ディレクトリー内の JAR ファイルをエンタープライズ・アーカイブ (EAR) ファイルのルート・ディレクトリーに移動します。
ネストされたアーカイブ (エンタープライズ・アプリケーション・アーカイブ (EAR) ファイル内にある Web アーカイブ (WAR) 内の JAR ファイルなど) は、複数レベルで圧縮されているため、全体を検索することが極めて困難です。
metadata-complete フラグを ejb-jar.xml または web.xml デプロイメント記述子ファイル内で定義できます。
例えば、EJB モジュールのデプロイメント記述子で metadata-complete 属性を次のように定義できます。
< span class="Code"> < ejb-jar xmlns= "http://java.sun.com/xml/ns/javaee"
xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation= "http://java.sun.com/xml/ns/javaee"
http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
nbsp; version = "3.0" metadata-complete = "true">
</ejb-jar>
Web モジュールのデプロイメント記述子で metadata-complete 属性を次のように定義できます。
< span class="Code"> < web-app xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xmlns = "http://java.sun.com/xml/ns/javaee"
xmlns: web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation= "http://java.sun.com/xml/ns/javaee"
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID "version="2.5" metadata-complete = "true">
</web-app>
追加情報については、モジュールのメタデータ設定を参照してください。