Frage

Beim Start durchsucht Tomcat rekursiv die WEB-INF-Verzeichnisse nach TLD-Dateien (Tag Library Descriptor).Wenn eine Webanwendung viele Dateien in diesem Verzeichnis hat, verlangsamt dies daher den Startvorgang.Weiß jemand, ob es in dieser Situation eine Möglichkeit gibt, das Scannen vollständig zu deaktivieren oder zumindest einen Filter bereitzustellen, um die Suche einzugrenzen?

War es hilfreich?

Lösung

Sie können hinzufügen processTlds Attribute im Zusammenhang

  <Context processTlds="false" ... />

Allerdings Ihre TLDs in der JAR-Datei definiert würden nicht funktionieren, ohne dass die JAR-Dateien zu scannen. Sie haben alle TLDs in WEB-INF zu definieren.

Andere Tipps

Ich wurde durch das gleiche Problem verwirrt. Suchen Sie in den Quellcode von Tomcat 7.0.40, ist es nicht möglich, Gläser Scannen zu vermeiden ‚processTlds = false‘ einstellen, werden sie noch für Web-Fragmente gescannt werden (ContextConfig.processJarsForWebFragments ()).

Es gibt zwei Optionen übrig:

Stellen Sie Eigenschaft in TOMCAT_HOME / conf / catalina.properties

org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar

Ersetzen StandardJarScanner durch eine eigene Implementierung, zum Beispiel leeren und beziehen sich auf es von my.war / META-INF / context.xml:

<Context processTlds="false">
    <JarScanner className="org.my.tomcat.NullJarScanner"/>
</Context>

In diesem Fall werden Sie brauchen, um sicherzustellen, dass NullJarScanner Klasse in Tomcats lib verfügbar ist, nicht Ihre .war

Auf Tomcat 8 kann das Problem durch Hinzufügen von gelöst werden META-INF\context.xml mit der unten gezeigten Konfiguration in Ihre WAR-Datei.Die globale Tomcat-Konfiguration muss nicht geändert werden.

<?xml version="1.0" encoding="UTF-8"?>
<Context>
    <JarScanner>
        <JarScanFilter tldSkip="*.*"/>
    </JarScanner>
</Context>

Die entsprechende Dokumentation finden Sie hier: http://tomcat.apache.org/tomcat-8.0-doc/config/jar-scan-filter.html

Als Alternative (wenn Sie immer noch lieber einige JAR-Dateien scannen) Sie neue Werte anhängen könnte „tomcat.util.scan.DefaultJarScanner.jarsToSkip“ Eigenschaft in „{} TOMCAT_HOME /conf/catalina.properties“.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top