Les sous-rubriques suivantes décrivent différentes situations dans lesquelles il peut être nécessaire de redémarrer le serveur.
Dans l'environnement de développement, vous pouvez changer une application lorsqu'elle s'exécute sur un serveur, par exemple si vous déboguez une application sur un serveur. Dans certains cas, vous pouvez recharger dynamiquement le code modifié sans redémarrer le serveur. Vous risquez de perdre l'état du programme, selon le type de ressource modifiée et le type de serveur.
Lorsqu'une application s'exécute sur un serveur et que vous changez le code, la machine virtuelle Java™ continue d'exécuter le code initial jusqu'à ce que le code soit rechargé automatiquement ou manuellement. Par exemple, si vous modifiez la source JSP, les modifications sont rechargées automatiquement sur le serveur. Pour d'autres ressources, comme les classes Java qui s'exécutent sur Tomcat, vous devez redémarrer le serveur pour que le serveur reconnaisse les modifications.
Si vous modifiez le serveur ou la configuration de serveur alors que le serveur est en cours d'exécution, par exemple si vous changez le numéro de port, il est nécessaire de redémarrer le serveur.
Si vous modifiez votre fichier JSP, HTML, GIF ou JPG ou un fichier de ressources similaire, lorsque vous sauvegardez le fichier alors que le serveur est en cours d'exécution, vous devez publier l'application sur le serveur. L'émission d'une publication est particulièrement importante si les modifications apportées au fichier de ressources constituent une ressource liée, par exemple des fichiers ou des dossiers qui sont stockés dans des emplacements du système de fichiers hors de l'espace de travail. Les modifications apportées aux ressources liées ne peuvent pas être détectées par le plan de travail ou le serveur car elles sont effectuées hors de l'espace de travail.
Pour plus d'informations sur la publication automatique ou manuelle sur le serveur, voir la rubrique Publication de votre application.
Si vous modifiez un servlet et sauvegardez le fichier alors que le serveur est en cours d'exécution, le servlet est rechargé si vous avez activé le rechargement pour cette application. Lorsque le serveur exécute le remplacement à chaud1, les modifications sont appliquées automatiquement sans qu'il ne soit nécessaire d'actualiser le navigateur. Le serveur reconnaît la modification lors de la publication de l'application sur le serveur. Si vous actualisez le navigateur Web, l'état de l'application n'est pas perdu.
Pour publier l'application sur le serveur, vous pouvez attendre que l'intervalle de publication automatique soit écoulé ou publier manuellement votre application (cliquez avec le bouton droit de la souris dans la vue Serveurs et sélectionnez Publier). Pour plus d'informations sur la publication automatique ou manuelle sur le serveur, voir la rubrique Publication de votre application. Les données de session pour ce projet sont perdues, mais l'état des autres projets dans l'application n'est pas changé. Vous pouvez redémarrer le projet depuis le menu dans la vue du navigateur. Si vous exécutez Tomcat et n'avez pas activé la fonction de rechargement, vous devez redémarrer le serveur.
Pour WebSphere Application Server, les règles s'appliquent également à toute classe dépendante ou tout descripteur de déploiement du projet Web. Si vous modifiez les propriétés de sécurité ou de configuration de connexion du descripteur de déploiement web.xml qui s'exécute sur WebSphere Application Server, vous devez redémarrer le serveur. Pour Tomcat, un redémarrage du serveur est requis pour toutes ces modifications.
Si vous ajoutez un servlet, une classe dépendante ou un fichier JSP à un projet Web alors que le serveur est en cours d'exécution, les modifications sont reconnues si vous avez activé le rechargement. Sinon, vous devez publier l'application et redémarrer le projet EAR si vous exécutez WebSphere Application Server, ou publier l'application et redémarrer le serveur si vous exécutez Tomcat. Pour publier l'application sur le serveur, vous pouvez attendre que l'intervalle de publication automatique soit écoulé ou publier manuellement votre application (cliquez avec le bouton droit de la souris dans la vue Serveurs et sélectionnez Publier). Pour plus d'informations sur la publication automatique ou manuelle sur le serveur, voir la rubrique Publication de votre application. Lorsque le serveur exécute la fonction de remplacement à chaud en mode débogage, les modifications apportées aux classes Java sont reconnues automatiquement.
Pour WebSphere Application Server, le serveur redémarre dynamiquement le projet EJB dans le projet EAR. Lorsque le serveur exécute la fonction de remplacement à chaud en mode débogage, les modifications apportées aux classes Java sont reconnues automatiquement.
Pour WebSphere Application Server, si vous changez une ressource dans un projet d'application d'entreprise alors qu'il s'exécute sur le serveur, le serveur redémarre automatiquement le projet EAR. Tomcat ne prend pas en charge le test et la publication des projets d'application d'entreprise.
Ressource modifiée | Action requise | |||
---|---|---|---|---|
WebSphere Application Server | Apache Tomcat | WebSphere Application Server Express | ||
Configuration serveur | Même comportement qu'un serveur WebSphere Application Server autonome. Pour des détails, voir le centre de documentation de WebSphere Application Server. | Redémarrer le serveur | Redémarrer le serveur | |
JSP | Actualiser le navigateur Web | Actualiser le navigateur Web | Actualiser le navigateur Web | |
Servlet | Rechargement activé | Actualiser le navigateur Web | Actualiser le navigateur Web | Actualiser le navigateur Web |
Rechargement désactivé | Redémarrer le projet EAR ou le serveur | Redémarrer le serveur | Redémarrer le projet EAR ou le serveur | |
Classes dépendantes ou descripteurs de déploiement | Rechargement activé | Actualiser le navigateur Web | Actualiser le navigateur Web | Actualiser le navigateur Web |
Rechargement désactivé | Redémarrer le projet EAR ou le serveur | Redémarrer le serveur | Redémarrer le projet EAR ou le serveur | |
Implémentation EJB | Rechargé automatiquement | Non pris en charge | Non pris en charge | |
Interface EJB ou classes dépendantes de l'interface | Rechargé automatiquement. Redémarrer le client d'application si ce dernier contient une référence à l'EJB. | Non pris en charge | Non pris en charge | |
EJB, classes dépendantes ou descripteurs de déploiement | Rechargé automatiquement | Non pris en charge | Non pris en charge | |
EJB ou classe dépendante ajouté(e) | Rechargé automatiquement | Non pris en charge | Non pris en charge | |
Fichier EAR | Rechargé automatiquement | Non pris en charge | Actualiser le navigateur Web |