ruta qué los integran desplegar contextos aplicativos aplicacion tomcat memory-leaks tomcat7

qué - Imposible desplegar completamente una aplicación web en Tomcat 7



desplegar jar en tomcat (4)

Estoy usando la aplicación de administrador en Tomcat 7, y no puedo anular la implementación de una aplicación por completo.

Dice FAIL - Unable to delete [F:/apache-tomcat-7.0.33/webapps/balaji]. The continued presence of this file may cause problems. FAIL - Unable to delete [F:/apache-tomcat-7.0.33/webapps/balaji]. The continued presence of this file may cause problems.

Lo leí en alguna parte es debido a un fenómeno llamado pérdida de memoria, y si lo solucionamos, el problema se resolverá.

¿Alguien puede decirme qué es esta pérdida de memoria en tomcat 7, y cómo podemos solucionarlo? Estoy usando el sistema operativo Windows 7. Si puedo solucionarlo, ¿se ejecutará sin problemas mi proceso de desinstalación y reimplementación?


Este es uno de los problemas comunes con Tomcat. El servidor Tomcat capta los recursos en el inicio y los despliega. Mientras no se implemente, tomcat aún usará algún recurso. Todavía no habría lanzado el recurso, pero al mismo tiempo, otro hilo en Tomcat trataría de limpiar los mismos recursos. Por lo tanto, la eliminación de esos recursos fracasaría. La mejor manera es limpiar manualmente el directorio raíz de la aplicación en webapps.


Esto es muy común en el entorno de Windows, pero hay una solución:

Abra context.xml desde la carpeta / tomcat / conf y modifique el contexto para que coincida con esto:

<Context antiResourceLocking="true">

Editar: Propiedades actualizadas siguiendo el comentario de @JanM. Anteriormente también contenía ''antiJARLocking''


Me he encontrado con el mismo problema en Apache Tomcat / 8.0.5. Hice los siguientes pasos usando la aplicación de administrador y funcionó para mí.

  • Cierre el navegador incluyendo todas las pestañas (para borrar el caché).
  • Vuelva a abrir la ''Aplicación de administrador'' y primero asegúrese de que la aplicación esté detenida (el botón de inicio debe estar habilitado).
  • Ahora haz clic en anular la implementación.

Creo que cuando hacemos clic directamente en anular la implementación, primero bloquea los frascos, detiene la aplicación y trata de anular la implementación, pero falla con FAIL - Unable to delete mensaje.

Si realmente confundió con el estado, cierre el navegador, reinicie Tomcat, abra la ''aplicación del administrador'', haga clic en detener y luego anule la implementación.


antiResourceLocking:
Si es verdadero, Tomcat evitará el bloqueo de archivos. Esto tendrá un impacto significativo en el tiempo de inicio de las aplicaciones, pero permite una implementación y despliegue de webapp hot hot en las plataformas o configuraciones donde se puede producir el bloqueo de archivos. Si no se especifica, el valor predeterminado es falso.

Tenga en cuenta que establecer esto en verdadero tiene algunos efectos secundarios, incluida la desactivación de la recarga de JSP en un servidor en ejecución: consulte Bugzilla 37668.

Tenga en cuenta que establecer este indicador en true en las aplicaciones que están fuera de la aplicación Base para el servidor (el directorio webapps por defecto) hará que la aplicación se elimine en el cierre de Tomcat. Probablemente no desee hacer esto, así que piense dos veces antes de configurar antiResourceLocking = true en una aplicación web que está fuera de la base de aplicación para su Host.