Java EE 5 prend en charge l'utilisation des annotations pour spécifier les informations de déploiement.
Si des applications contiennent un nombre important de classes Java, la durée de traitement du déploiement des annotations peut augmenter.
Pour minimiser l'impact sur les performances, vous pouvez utiliser l'une des méthodes suivantes :
- Déterminez si le module doit utiliser Java EE 5.
Si le module n'a pas besoin d'utiliser Java EE 5, les annotations des classes Java ne sont pas analysées.
- Utilisez la
metadata-complete
dans le descripteur de module si le module utilise Java EE 5 et qu'il ne contient aucune annotation.
Cet attribut désactive le traitement des annotations pour le module, mais les modules Java EE 5 risquent d'être tout de même placés dans le fichier du descripteur.
Si vous migrez votre application,
mais que vous n'ajoutez pas d'annotations, vous pouvez envisager d'utiliser
cette valeur d'attribut.
- Restructurez l'application pour placer les fichiers JAR de l'utilitaire dans des bibliothèques partagées si ces fichiers JAR ne contiennent pas d'informations d'annotation.
Vous pouvez utiliser cette méthode si vous ne pouvez pas définir l'attribut metadata-complete.
- Transférez les fichiers JAR du répertoire WEB-INF\lib dans le répertoire principal du fichier EAR.
Il est particulièrement difficile d'effectuer des recherches dans les archives imbriquées, telles qu'un fichier JAR à l'intérieur d'une archive Web (WAR) qui se trouve dans un fichier EAR, en raison des multiple niveaux de compression.
L'indicateur metadata-complete peut être défini dans le fichier descripteur de déploiement
ejb-jar.xml ou web.xml.
Par exemple, un descripteur de déploiement de module EJB définit l'attribut metadata-complete comme suit :
< 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"
version = "3.0" metadata-complete = "true">
</ejb-jar>
Un descripteur de déploiement de module Web définit l'attribut metadata-complete comme suit :
< 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>
Pour plus d'informations, voir Paramètres des métadonnées pour des modules.