
Parece que no puedo entender si es posible configurar Tomcat para que se detenga cuando falla la inicialización del contexto ROOT. Dado que mi instancia de Tomcat solo aloja una aplicación como contexto ROOT, no tiene sentido mantener Tomcat ejecutándose en estado inactivo si falla la inicialización de esta aplicación web.
Sé que esto no es lo óptimo, por ejemplo, una arquitectura de microservicio basada en Spring Boot proporciona esto de forma inmediata, pero no podemos pasar a Spring Boot en este momento. Sin embargo, necesito algún tipo de manejo automático de fallas porque estamos agrupando imágenes de Docker y me gustaría verlo en el nivel del contenedor si sucediera algo fatal dentro de ese contenedor (el contenedor salió).
Respuesta1
Podría tener algo para analizar los registros en crontab (y buscar la inicialización raíz específica) y luego detener el servicio o enviar un correo electrónico. Seguro y fácil de implementar.
Respuesta2
He encontrado una solución elegante. Ya que estamos usandomaestro-ngPara orquestar contenedores Docker podemos usar sucomprobación del ciclo de vidaesperar a que el punto final conocido del servicio web devuelva HTTP 200 OK antes de pasar al siguiente contenedor. Podemos asumir con seguridad que algo salió mal si esta condición nunca se cumple.