Pregunta

En el arranque, Tomcat Explora recurrentemente los directorios WEB-INF para TLD (biblioteca de códigos de descriptor) archivos. Como resultado, si una aplicación web tiene un montón de archivos bajo ese directorio, se ralentiza el proceso de inicio. ¿Alguien sabe si hay una manera en que la situación desactivar la búsqueda por completo, o al menos proporcionar un filtro para limitar la búsqueda?

¿Fue útil?

Solución

atributos

Puede añadir processTlds en el contexto,

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

Sin embargo, los dominios de nivel superior definidas en el archivo JAR no funcionaría sin el escaneo de los archivos JAR. Usted tiene que definir todos los dominios de primer nivel en WEB-INF.

Otros consejos

Yo estaba perplejo por el mismo problema. Buscando en el código fuente de Tomcat 7.0.40, no es posible evitar los tarros de exploración mediante el establecimiento 'processTlds = false', que todavía serán analizados en busca de fragmentos web (ContextConfig.processJarsForWebFragments ()).

Hay 2 opciones restantes:

Situado en la propiedad TOMCAT_HOME / conf / catalina.properties

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

Reemplazar StandardJarScanner por su propia implementación, por ejemplo, uno vacío y se refieren a ella desde my.war / META-INF / context.xml:

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

En este último caso, tendrá que asegurarse de que la clase NullJarScanner está disponible en el directorio lib de Tomcat, no su .war

En Tomcat 8 se puede resolver mediante la adición de la META-INF\context.xml con la configuración se muestra a continuación para el archivo WAR. No es necesario cambiar la configuración global de Tomcat.

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

La documentación pertinente está disponible aquí: http: / /tomcat.apache.org/tomcat-8.0-doc/config/jar-scan-filter.html

Como alternativa (si todavía prefiere escanear algunos JAR) se podría agregar nuevos valores a "tomcat.util.scan.DefaultJarScanner.jarsToSkip" propiedad "en TOMCAT_HOME {} /conf/catalina.properties".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top