Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

10.8. Remplacement du descripteur de déploiement

Une nouvelle fonctionnalité présente à partir de la version EAP 6.1 vous permet de remplacer des descripteurs de déploiement, des JAR, des classes, des pages JSP, et d'autres fichiers lors du temps d'exécution. Un deployment overlay représente un ensemble de règles de fichiers devant être remplacés dans les archives. Il fournit également des liens vers les nouveaux fichiers qui doivent être utilisés au lieu de ceux ayant été remplacés. Si le fichier remplacé n'est pas présent dans les archives de déploiement, il sera ajouté au déploiement.

Procédure 10.17. Remplacer le descripteur de déploiement en utilisant l'interface CLI

Les étapes suivantes partent du principe que vous possédez déjà une application déployée appelée app.war et que vous souhaitez remplacer son fichier WEB-INF/web.xml avec un autre fichier web.xml situé dans /home/user/web.xml.
  1. Ajouter une superposition de déploiement (deployment overlay) et y ajouter du contenu. Vous pouvez y parvenir de deux façons :
    • Utilisation d'une arborescence DMR

      1. /deployment-overlay=myoverlay:add
      2. /deployment-overlay=myoverlay/content=WEB-INF\/web.xml:add(content={url=file:///home/user/web.xml})
        Vous pouvez ajouter des règles de contenu supplémentaires en utilisant le deuxième code.
    • Utilisation des méthodes de facilité

      deployment-overlay add --name=myoverlay --content=WEB-INF/web.xml=/home/user/web.xml
  2. Relie la superposition à une archive de déploiement. Vous pouvez y parvenir de deux façons :
    • Utilisation d'une arborescence DMR

      /deployment-overlay=myoverlay/deployment=app.war:add
    • Utilisation des méthodes de facilité

      deployment-overlay link --name=myoverlay --deployments=app.war
      Pour spécifier plusieurs noms d'archives, séparez-les par des virgules.
    Veuillez noter que le nom d'archive de déploiement n'a pas besoin d'exister sur le serveur. Vous devez indiquer le nom, mais il ne sera pas encore lié à un déploiement.
  3. Redéploiement de l'application

    /deployment=app.war:redeploy