Tengo una aplicación web que a menudo requiere una cantidad de tiempo desmesurada para implementarse en Tomcat. Mi sospecha es que hay una conexión de base de datos en algún lado que está esperando hasta que se agote el tiempo de espera, pero eso es solo una suposición y quiero averiguar con certeza qué está causando la suspensión para poder solucionar el problema. ¿Alguien puede sugerir una manera de hacerlo? ¿Debería perfilar Tomcat cuando está cargando la GUERRA y buscar pistas? Si es así, ¿hay algún tutorial en algún lugar que sea bueno para un principiante?¿Cómo puedo saber qué me ha llevado tanto tiempo desarrollar WAR en Tomcat?
En caso de que esto importe, mi aplicación web usa Spring e Hibernate. Un colega me ha dicho que tal vez esto está causando la desaceleración en el sentido de que son tan grandes que en algún lugar un cargador de clases se está ahogando en la gran cantidad de clases que necesita cargar.
también veo esto cuando deje de Tomcat o caliente desplegar el war a un Tomcat ya se está ejecutando:
Jun 1, 2012 6:03:33 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/nacem-rest] registered the JDBC driver [oracle.jdbc.OracleDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
Jun 1, 2012 6:03:34 PM org.apache.catalina.startup.HostConfig deployWAR
Tal vez esto es parte del problema? La redistribución de mi aplicación web casi siempre requiere el reinicio de Tomcat, y siempre he asumido que el problema del controlador JDBC mencionado anteriormente era el culpable, pero ¿quizás también tiene algo que ver con el lento tiempo de inicio?
Sé muy poco acerca de este tipo de cosas, así que esta es una verdadera oportunidad para aprender. Gracias de antemano por tu ayuda.