Tomcat 7 slow-start-metadata-complete="true" web.xml
habe ich migriert Tomcat 7[7.0.4.1] in der Vergangenheit Sie einen Systemstart dauert zwischen 5 oder 7 Sekunden jetzt dauert es 30
Sekunden, die ich gelesen habe auf anderen post metadata-complete="true" gesetzt, in der web.xml löst der trick scheint aber noch nicht gelöst, in meinem Fall habe ich Hinzugefügt metadata-complete="true"
im WEB-INF/web.xml
und in tomcat/conf/web.xml
weder scheint zu funktionieren.
hier ist der code für tomcat/conf/web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
metadata-complete="true"
version="3.0">
hier ist der code für WEB-INF/web.xml
<web-app metadata-complete="true" version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
die Bereitstellung wird erfolgreich hier ist die trace-tomcat-Druck.
INFO: Starting Servlet Engine: Apache Tomcat/7.0.41
jul 22, 2013 4:33:08 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
in diesem Satz ist die Einnahme von mehr als 30 Sekunden..
INFO: Starting Servlet Engine: Apache Tomcat/7.0.41
meine Fragen sind:
-
was mache ich falsch??
-
wie kann ich sehen, metadata-complete " - Einstellung auf true, die ich lese, in andere web-site hier können Sie die überprüfung der fahne in der
isMetadataComplete()
aber meine Frage ist wo oder wie kann ich diese Methode aufrufen??
sind wir mit [Spring,Hibernate,ZK] in out Projekt.
- Wenn Sie nicht mit servlet 3.0, dann
metadata-complete
- element nicht gültig. Sie können nicht nur festlegen, version 3.0, wenn Ihr container nicht ausgeführt wird, servlet 3.0, dh. Sie haben die servlet 3.0 jar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Metadaten-komplett nicht löst mein Start-Zeit Fragen. Das problem ist, dass tomcat durchsucht mehrere (fast alle jars), die beim Start für Anmerkungen und tld-Dateien. Natürlich, nicht alle jars enthält tld-Dateien und Anmerkungen. Verbessern Sie Ihre Startzeiten können Sie ausschließen, diese Gläser. So etwas wie die folgenden sollten den trick tun:
Anpassen der conf/catalina.Eigenschaften:
Für diejenigen, die vielleicht noch begegnen diesem Problem, wie ich (während der Migration auf Java 8 und von Frühjahr 3.0 zu 3.2) der Hinweis, dass Sie auch das Problem, wenn jedes Glas, das Sie verwenden, enthält eine
web-fragment.xml
(wie spring-web).Um dies zu vermeiden, sollten Sie außerdem angeben, eine leere
absolute-ordering
in Ihremweb.xml
(nach FRÜHLING-10196 und Tomcat HowTo/FasterStartUp):(auch stellen Sie sicher, dass Sie angeben, servlet 3.0 in Ihrem web.xml)
Auch, wenn Sie eine alte version von Tomcat, eine leere
absolute-ordering
wird nicht funktionieren aufgrund bug 54262. Um dies zu beheben, verwenden Sie einen dummy-fragment-name:Wenn nichts funktioniert, betrachten Sie die
jarsToSkip
Vorschlag von @Prashant, aber das ist eher ärgerlich, da es erfordert, ändern die Tomcat-Konfiguration in alle Umgebungen.(Da bin ich eine alte version von Tomcat, die auf Java 8, das annotation processing ist komplett gebrochen für mich, mit vielen Ausnahmen auftreten, die beim Systemstart)