web-dev-qa-db-fra.com

Comment empêcher le verrouillage de fichier lors du non déploiement d'une application Web Tomcat?

J'utilise l'application manager de Tomcat 7, .__ et je ne parviens pas à annuler complètement le déploiement d'une application.

Il dit FAIL - Unable to delete [F:\Apache-Tomcat-7.0.33\webapps\balaji]. The continued presence of this file may cause problems.

J'ai lu quelque part que c'était à cause d'un phénomène appelé fuite de mémoire, et si nous le corrigeons, le problème sera résolu.

Quelqu'un peut-il me dire quelle est cette fuite de mémoire dans Tomcat 7, et comment pouvons-nous la réparer? processus fonctionne bien?

63
bali208

Ceci est très courant dans l'environnement Windows mais il existe une solution via la propriété antiResourceLocking context:

Ouvrez le fichier context.xml du dossier/Tomcat/conf et modifiez le contexte pour qu'il corresponde à ceci:

<Context antiResourceLocking="true">

Edit: propriétés mises à jour à la suite du commentaire @JanM. Auparavant, il contenait également 'antiJARLocking'

113
mvlupan

C'est l'un des problèmes courants avec Tomcat. Le serveur Tomcat s'empare des ressources au démarrage et les déploie. Bien que non déployé, certaines ressources seraient toujours utilisées par Tomcat. La ressource n'aurait pas encore été publiée, mais un autre thread de Tomcat essaierait en même temps de nettoyer les mêmes ressources. Par conséquent, la suppression de ces ressources échouerait .. Un des meilleurs moyens consiste à nettoyer manuellement le répertoire racine de l'application dans les applications Web.

13
Amith Koujalgi

J'ai rencontré le même problème dans Apache Tomcat/8.0.5. J'ai fait les étapes suivantes en utilisant gestionnaire App et cela a fonctionné pour moi.

  • Fermez le navigateur, y compris tous les onglets (pour supprimer le cache).
  • Rouvrez l'application Manager et assurez-vous d'abord que l'application est arrêtée (le bouton de démarrage doit être activé).
  • Maintenant, cliquez sur Annuler le déploiement.

Je pense que lorsque nous cliquons directement sur undeploy, tout d'abord, il verrouille les fichiers JAR, arrête l'application et tente d'annuler le déploiement mais échoue avec le message FAIL - Unable to delete.

Si vous êtes vraiment confus quant au statut, fermez le navigateur, redémarrez Tomcat, ouvrez «Manager App», cliquez sur Arrêter, puis annulez le déploiement.

0
Sumant