Vous pouvez modifier les fichiers WAR (Web application archive) sur un serveur d'applications
sans devoir arrêter, ni redémarrer le serveur.
A propos de cette tâche
La remarque suivante s'applique aux références de fichier avec une extension .xmi dans cette rubrique :
Configurations prises en charge : Pour IBM® fichiers d'extension et de liaison, le
.xmi ou
.xml L'extension du nom de fichier est différente selon que vous utilisez ou non un fichier pré-installé. Java EE 5 application ou module ou un Java™ EE 5 ou version ultérieure. Un IBM l'extension ou le fichier de liaison est nommé
ibm-*-ext.xmi ou
ibm-*-bnd.xmi où * est le type d'extension ou de fichier de liaison tel que
app ,
application ,
ejb-jar , ou
web . Les conditions suivantes s'appliquent :
- Pour une application ou un module qui utilise un Java EE version antérieure à la version 5, l'extension du fichier doit être.xmi .
- Pour une application ou un module qui utilise Java EE 5 ou version ultérieure, l'extension du fichier doit être.xml . Si des fichiers .xmi sont inclus avec l'application ou le module,
le produit ignore les fichiers .xmi.
Cependant, un Java EE 5 ou version ultérieure peuvent exister dans une application qui inclut des modules pré- Java EE 5 fichiers et utilise le.xmi extension du nom de fichier.
Les fichiers ibm-webservices-ext.xmi,
ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi,
ibm-webservicesclient-ext.xmi et ibm-portlet-ext.xmi
continuent d'utiliser les extensions de fichier .xmi.
![[HP-UX]](../images/nghpux.svg)
Restriction: La fonction de déploiement à chaud et de rechargement dynamique n'est pas prise en charge lorsque le produit est exécuté sur ces systèmes d'exploitation. Les fichiers JAR (archive Java) situés dans le kit Java Development Kit (JDK) associé sont mappés sur la mémoire. Si ces fichiers JAR sont mis à jour par la fonction de déploiement à chaud et de rechargement dynamique lorsqu'ils sont utilisés par la machine virtuelle Java (JVM), les fichiers deviennent incohérents, ce qui entraîne l'arrêt inattendu du serveur d'applications. Lorsque vous apportez des modifications à une application sur ces systèmes d'exploitation, n'utilisez pas la fonction de déploiement à chaud et de rechargement dynamique. Redémarrez plutôt l'application pour que les modifications soient prises en compte.
Plusieurs modifications peuvent être apportées aux fichiers WAR
sans devoir arrêter, puis redémarrer le serveur.
Le tableau suivant répertorie les modifications que vous pouvez apporter en manipulant un fichier WAR du serveur sur lequel l'application est déployée. Le tableau indique également s'il est nécessaire d'utiliser un déploiement à chaud ou un rechargement dynamique pour effectuer les modifications.
Procédure
- Modifier un fichier JavaServer Pages (JSP) existant.
Placez le fichier JSP modifié directement dans le racine_application/ nom_module répertoire ou le sous-répertoire approprié. La modification est prise en compte
automatiquement et le fichier JSP est recompilé et rechargé.
- Ajouter un nouveau fichier JSP à une application existante.
Placez le nouveau fichier JSP directement dans le racine_application/ nom_module répertoire ou le sous-répertoire approprié. Le nouveau fichier est détecté automatiquement
et est compilé lors de la première demande adressée à la page.
- Modifier une classe servlet existante en l'éditant et en la recompilant.
- Placer la nouvelle version de la servlet.classdéposer directement dans le racine_application/ nom_module Répertoire /WEB-INF/classes. Si l'élément XML.classfait partie d'un fichier Jar, vous pouvez placer la nouvelle version du fichier Jar directement dans racine_application/ nom_module/WEB-INF/lib. Dans les deux cas, la modification est prise en compte,
l'application Web est fermée et réinitialisée et la nouvelle classe
est détectée.
- Si le rechargement automatique n'est pas activé, relancez l'application. Utilisez la console d'administration pour redémarrer l'application. Ou utilisez lestartApplicationetstopApplicationattributs du AdminControl objet avec l’outil wsadmin.
Si le rechargement automatique est activé, aucune autre
intervention de votre part n'est requise. La modification est détectée lors du rechargement automatique.
- Modifier un fichier de classe de dépendants d'une classe de servlet existante
- Placez la nouvelle version de la personne dépendante.classdéposer directement dans le racine_application/ nom_module Répertoire /WEB-INF/classes. Si l'élément XML.classfait partie d'un fichier Jar, vous pouvez placer la nouvelle version du fichier Jar directement dans racine_application/ nom_module/WEB-INF/lib. Dans les deux cas, la modification est prise en compte,
l'application Web est fermée et réinitialisée et la nouvelle classe
est détectée.
- Si le rechargement automatique n'est pas activé, relancez l'application. Utilisez la console d'administration pour redémarrer l'application. Ou utilisez lestartApplicationetstopApplicationattributs du AdminControl objet avec l’outil wsadmin.
Si le rechargement automatique est activé, aucune autre
intervention de votre part n'est requise. La modification est détectée lors du rechargement automatique.
- Ajouter un nouveau servlet à l'aide de la fonction Invoker (Servlets servis par noms de classe) ou ajouter un fichier de classe de dépendants dans une application existante
- Placez le nouveau.classdéposer directement dans le racine_application/ nom_module Répertoire /WEB-INF/classes. Si l'élément XML.classfait partie d'un fichier Jar, vous pouvez placer la nouvelle version du fichier Jar directement dans racine_application/ nom_module/WEB-INF/lib. Dans les deux cas, la modification est prise en compte,
l'application Web est fermée et réinitialisée et la nouvelle classe
est détectée.
Cette situation est traitée
de la même manière que la modification d'une classe existante. La
différence tient au fait que l'ajout du servlet ou de la classe
n'entraîne pas un rechargement immédiat de l'application Web, dans la
mesure où cette classe n'a encore jamais été chargée. La classe devient simplement disponible pour exécution.
- Si le rechargement automatique n'est pas activé, relancez l'application. Utilisez la console d'administration pour redémarrer l'application. Ou utilisez lestartApplicationetstopApplicationattributs du AdminControl objet avec l’outil wsadmin.
Si le rechargement automatique est activé, aucune autre
intervention de votre part n'est requise. La modification est détectée lors du rechargement automatique.
- Ajoutez un nouveau servlet, incluant une nouvelle définition du servlet dans leweb.xmldescripteur de déploiement pour l'application.
- Placez le nouveau.classdéposer directement dans le racine_application/ nom_module Répertoire /WEB-INF/classes. Si l'élément XML.classfait partie d'un fichier Jar, vous pouvez placer la nouvelle version du fichier Jar directement dans racine_application/ nom_module/WEB-INF/lib.
Vous pouvez modifier leweb.xmlfichier en place ou copiez-le dans le racine_application/ nom_module Répertoire /WEB-INF/classes. Le nouveau.classle fichier ne déclenchera pas un rechargement de l’application.
- Relancez l'application.
Utilisez la console d'administration pour redémarrer l'application. Ou utilisez lestartApplicationetstopApplicationattributs du AdminControl objet avec l’outil wsadmin. Une fois l'application relancée, le nouveau servlet est prêt à être utilisé.
- Modifier laweb.xmlfichier d'un fichier WAR.
- Modifier leweb.xmlfichier en place ou copiez-le dans lemetadata_root/module_name/WEB-INF:NONE.
- Relancez l'application.
Utilisez la console d'administration pour redémarrer l'application. Ou utilisez lestartApplicationetstopApplicationattributs du AdminControl objet avec l’outil wsadmin.
- Modifier laibm-web-ext.xmifichier d'un fichier WAR.
Modifiez comme il convient les paramètres de l'extension. Vous pouvez modifier tous les paramètres de l'extension. Le seul avertissement est que si vous réglez le reloadInterval propriété à zéro (0) ou la reloadEnabled propriété àfalse, l'application ne détecte plus automatiquement les modifications apportées aux fichiers de classe. Ces deux modifications désactivent la fonction de rechargement
automatique. Le seul moyen d'activer à nouveau cette fonction
consiste à modifier la propriété appropriée et à relancer
l'application. Pour plus d'informations sur la relance d'une
application, consultez les autres descriptions de tâches contenues
dans ce fichier.
Fonctionnalité obsolète : Le reloadInterval et reloadingEnabled attributs du IBM extensions de descripteur de déploiement, y compris l'extension de fichier WARWEB-INF/ibm-web-ext.xmi et l'extension de l'applicationMETA-INF/ibm-application-ext.xmi sont obsolètes.
- Modifier laibm-web-bnd.xmifichier d'un fichier WAR.
- Apportez les modifications nécessaires aux liaisons. Vous pouvez
modifier toutes les valeurs en veillant à ce que les entités avec
lesquelles vous établissez des liaisons figurent bien dans la
configuration du serveur.
- Relancez l'application.
Utilisez la console d'administration pour redémarrer l'application. Ou utilisez lestartApplicationetstopApplicationattributs du AdminControl objet avec l’outil wsadmin.