Ich habe eine Webanwendung, die oft übermäßig viel Zeit für die Bereitstellung auf Tomcat benötigt. Mein Verdacht ist, dass es irgendwo eine Datenbankverbindung gibt, die auf eine Zeitüberschreitung wartet, aber das ist nur eine Vermutung und ich möchte herausfinden, was die Ursache ist, damit ich das Problem beheben kann. Kann jemand vorschlagen, wie ich das machen kann? Soll ich Tomcat profilieren, wenn es den WAR lädt und dort nach Hinweisen sucht? Wenn ja, gibt es irgendwo ein Tutorial, das gut für Anfänger ist?Wie kann ich herausfinden, was mein WAR so lange benötigt, um es auf Tomcat zu implementieren?
Wenn dies wichtig ist, verwendet meine Webanwendung Spring und Hibernate. Mir wurde von einem Kollegen gesagt, dass diese vielleicht die Verlangsamung verursachen, weil sie so riesig sind, dass irgendwo ein Klassenlader an der schieren Anzahl von Klassen, die er laden muss, erstickt.
Auch sehe ich das, wenn ich Tomcat stoppen oder heiß, den Krieg zu einem bereits laufenden Tomcat bereitstellen:
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
Vielleicht ist dies ein Teil des Problems ist? Das erneute Bereitstellen meiner Webanwendung erfordert fast immer auch einen Neustart von Tomcat, und ich habe immer angenommen, dass das oben erwähnte JDBC-Treiberproblem schuld war, aber vielleicht hat es auch etwas mit der trägen Startzeit zu tun?
Ich weiß sehr wenig über diese Art von Sache, so ist dies eine echte Chance zu lernen. Vielen Dank im Voraus für Ihre Hilfe.