Réduction des recherches d'annotation pendant le déploiement d'application.

Les applications d'entreprise qui contiennent de nombreuses classes et sont activées pour le traitement des annotations (non signalées par "metadata-complete") sont plus longues à déployer. Ce temps supplémentaire est requis pour analyser des binaires d'applications pour des annotations introduites par Java™ EE 5. S'il n'existe pas d'options supplémentaires permettant de restreindre les classes analysées, lorsque l'analyse est activée pour un module, toutes les classes du module doivent être analysées. L'analyse de toutes les classes est nécessaire même si seulement un sous-ensemble limité de classes dans un module donné comporte des annotations.

Avant de commencer

La technologie de numérisation rapide par code intermédiaire permet d'améliorer les performances de déploiement. Cependant, les meilleures performances de déploiement sont obtenues en restreignant les classes analysées pour les annotations.

Lorsqu'un module a la marque metadata-complete, elle s'applique à l'intégralité du module. Le module ne peut pas avoir la marque metadata-complete lorsqu'un traitement des annotations est nécessaire. En outre, lorsqu'un module a la marque metadata-complete il ne peut pas être analysé ce qui pose des problèmes pour les modules Web qui utilisent des annotations EJB et de service Web.

Il se peut que les fichiers JAR des archives de module Web (fichiers (WAR) soient déplacés dans le dossier des bibliothèqes d'applications. Il se peut cependant que le déplacement de ces fichiers ne soit pas possible car cela risque d'interrompre l'encapsulation des modules Web, ou en raison de la présence de plusieurs modules nécessitant des fichiers JAR différents.

Pour passer outre ces limitations et réduire le temps de déploiement IBM® WebSphere Application Server fournit des options permettant de restreindre les classes analysées pour les annotations.

Installez une application Java Platform, Enterprise Edition (Java EE) 5 ou ultérieure sur un serveur du produit. Si le déploiement est anormalement lent et que vous prévoyez de déployer une nouvelle fois l'application dans le futur, et si cette dernière contient des modules activés pour le traitement des annotations, suivez la procédure fournie dans cette rubrique afin de réduire le nombre de classes analysées pour les annotations.

Pourquoi et quand exécuter cette tâche

Le produit fournit une fonction de filtrage configurable pour réduire le nombre de classes examinées pour la recherche d'annotations. Vous pouvez identifier les modules ou les packages Java pour que le traitement des annotations soit ignoré à l'aide de quatre propriétés (ou attributs de manifeste) :

  • Ignore-Scanning-Archives
  • Ignore-Scanning-Packages
  • Include-Scanning-Archives
  • Include-Scanning-Packages

Ces propriétés peuvent être indiquées dans le fichier amm.filter.properties du répertoire racine_serveur_app/properties, ou être spécifiées comme attributs de manifeste.

Vous pouvez également identifier les modules ou les packages Java qui doivent être ignorés à l'aide des propriétés système ci-dessous :
  • com.ibm.ws.amm.scan.context.filter.archives
  • com.ibm.ws.amm.scan.context.filter.packages
  • com.ibm.ws.amm.scan.context.include.archives
  • com.ibm.ws.amm.scan.context.include.packages

Utilisez ces options afin de restreindre les classes analysées pour les annotations. L'amélioration des performances est proportionnelle au nombre de classes supprimées. Supprimez du traitement toute classe ne contenant pas de données d'annotations.

Le filtrage porte généralement sur l'intégralité des archives. Un cas de filtrage fréquent est celui de fichiers JAR d'utilitaire inclus dans un fichier d'archive (WAR) ne contenant pas de données d'annotations).

Les propriétés Ignore-Scanning-Archives et Ignore-Scanning-Packages sont utilisées pour indiquer les sous-ensembles de classes à ignorer pendant le traitement des annotations. Toutes les classes présentes dans les archives indiquées par la propriété Ignore-Scanning-Archives sont ignorées pendant le traitement des annotations. Toutes les classes présentes dans les packages indiquées par la propriété Ignore-Scanning-Packages sont également ignorées pendant le traitement des annotations.

Les propriétés Include-Scanning-Archives et Include-Scanning-Packages sont utilisées pour indiquer les sous-ensembles de classes à ignorer pendant le traitement des annotations. Lorsque l'une ou l'autre des propriétés est indiquée, seules les classes incluses sont analysées et toutes les autres sont ignorées.

Un ensemble de valeurs par défaut est fourni dans le fichier amm.filter.properties du répertoire racine_serveur_app/properties pour les propriétés Ignore-Scanning-Archives et Ignore-Scanning-Packages.
Remarque : Aucune valeur par défaut n'est fournie pour Include-Scanning-Archives et Include-Scanning-Packages.

Les valeurs de propriété fournissent à la fois un contrôle succinct et à granularité fine dans la portée pour le traitement des annotations : Ignore-Scanning-Archives offrant un contrôle plus succinct que Ignore-Scanning-Packages de même que Include-Scanning-Archives par rapport à Include-Scanning-Packages.

La syntaxe des quatre propriétés suit la convention basée sur le format CSV. Aucune expression générique ou régulière n'est autorisée et les valeurs sont sensibles à la casse.

L'utilisation simultanée de propriétés d'inclusion et d'exclusion n'est pas habituelle mais possible. Lorsqu'une propriété d'inclusion est indiquée avec une propriété d'exclusion, les classes sont sélectionnées pour le traitement qu'elles soient incluses ou non. Si les propriétés Ignore-Scanning-Archives et Include-Scanning-Archives sont toutes les deux indiquées, une classe est analysée pendant le traitement des annotations, mais uniquement si elle se trouve dans une archive indiquée par la propriété Include-Scanning-Archives, et non dans une archive indiquée par la propriété Ignore-Scanning-Archives. De même si les propriétés Ignore-Scanning-Archives et Include-Scanning-Packages sont indiquées, une classe est analysée pendant le traitement des annotations mais uniquement si elle est présente dans un package indiqué par Include-Scanning-Packages et absente d'une archive indiquée par Ignore-Scanning-Packages.

Les options indiquées à l'aide du fichier amm.filter.properties sont globales pour le profil. Toutes les applications détectées par des processus lancés par ce profil utilisent les options indiquées. Les options indiquées en tant que propriétés système sont globales pour le processus sur lequel les propriétés sont définies. Toutes les applications détectées par le processus utilisent les options indiquées.

Les attributs de manifeste peuvent être indiquées pour trois portées différentes :
  • Application (fichier EAR)
  • Module (fichier WAR/RAR/JAR)
  • Fragment Web (fichier JAR)
Dans tous les cas, un attribut de manifeste est applicable à toutes les portées incluses. Un attribut de manifeste indiqué comme attribut d'application (fichier EAR) s'applique à l'analyse des annotations pour toutes les archives de modules et les fichiers JAR de fragment. Un attribut de manifeste indiqué comme module (fichier WAR/RAR/JAR) s'applique aux annotations contenues dans le module. Un attribut de manifeste indiqué comme fragment Web (fichier JAR) s'applique à ce fragment Web.

Les attributs de manifeste indiqués pour plusieurs portées s'additionnent. Les options indiquées à l'aide de amm.filter.properties, de propriétés système et d'attributs de manifeste s'additionnent.

L'ensemble de valeurs par défaut peut être modifié par un administrateur ou étendu de l'une des manières suivantes.

Procédure

Que faire ensuite

Installez l'application à nouveau. Si le déploiement est toujours lent, indiquez davantage de modules et packages Java à ignorer.


Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_app_reduce_annot
Nom du fichier : trun_app_reduce_annot.html