10.8. Remplacement du descripteur de déploiement

Une nouvelle fonctionnalité de EAP 6.1 x 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.16. Remplacer le descripteur de déploiement en utilisant le Management 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
      Vous pouvez spécifier plusieurs noms d'archives séparés 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