Question

Au démarrage, Tomcat analyse de manière récursive les répertoires WEB-INF pour les fichiers TLD (Tag Library Descriptor). Par conséquent, si une webapp a beaucoup de fichiers dans ce répertoire, il ralentit le processus de démarrage. Est-ce que quelqu'un sait s'il y a un moyen dans cette situation pour désactiver l'analyse complètement ou au moins fournir un filtre pour affiner la recherche?

Était-ce utile?

La solution

Vous pouvez ajouter processTlds attributs dans le contexte,

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

Cependant, vos TLDs définis dans le fichier JAR ne fonctionneraient pas sans scanner les fichiers JAR. Vous devez définir tous les TLDs dans WEB-INF.

Autres conseils

Je suis intrigué par le même problème. En regardant dans le code source de Tomcat 7.0.40, il est impossible d'éviter le balayage des pots en réglant 'processTlds = false', ils seront toujours scannés pour fragments web (ContextConfig.processJarsForWebFragments ()).

Il y a 2 options restantes:

Définir la propriété dans TOMCAT_HOME / conf / catalina.properties

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

Remplacer StandardJarScanner par votre propre implémentation, par exemple un vide et s'y référer de my.war / META-INF / context.xml:

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

Dans ce dernier cas, vous devez vous assurer que la classe NullJarScanner est disponible dans le répertoire lib de tomcat, pas votre .war

Sur Tomcat 8, il peut être résolu en ajoutant la META-INF\context.xml avec la configuration ci-dessous pour voir votre fichier WAR. Pas besoin de changer la configuration globale Tomcat.

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

La documentation pertinente est disponible ici: http: / /tomcat.apache.org/tomcat-8.0-doc/config/jar-scan-filter.html

Comme alternative (si vous préférez encore analyser certains fichiers JAR), vous pouvez ajouter de nouvelles valeurs à la propriété « tomcat.util.scan.DefaultJarScanner.jarsToSkip » dans « {TOMCAT_HOME} /conf/catalina.properties ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top