Pergunta

Na inicialização, Tomcat examina recursivamente os diretórios WEB-INF para arquivos TLD (Tag Biblioteca descritor). Como resultado, se um webapp tem um monte de arquivos sob esse diretório, ele retarda o processo de inicialização. Alguém sabe se existe uma maneira nessa situação para desligar a varredura completamente, ou pelo menos proporcionar um filtro para restringir a pesquisa?

Foi útil?

Solução

Você pode adicionar atributos processTlds no contexto,

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

No entanto, os TLDs definidos no arquivo JAR não iria funcionar sem digitalizar os JARs. Você tem que definir todos os TLDs no WEB-INF.

Outras dicas

Eu estava intrigado com o mesmo problema. Olhando para o código-fonte do Tomcat 7.0.40, não é possível evitar frascos de varredura por definição 'processTlds = false', eles ainda serão digitalizados para fragmentos de Web (ContextConfig.processJarsForWebFragments ()).

Existem 2 opções restantes:

Set propriedade em TOMCAT_HOME / conf / catalina.properties

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

Substituir StandardJarScanner por sua própria implementação, por exemplo, um vazio e se referem a ele a partir my.war / META-INF / context.xml:

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

Em último caso, você vai precisar para se certificar de que a classe NullJarScanner está disponível no diretório lib do tomcat, não o seu .war

No Tomcat 8 pode ser resolvido adicionando o META-INF\context.xml com a configuração visto abaixo ao seu arquivo WAR. Não há necessidade de alterar a configuração global Tomcat.

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

A documentação relevante está disponível aqui: http: / /tomcat.apache.org/tomcat-8.0-doc/config/jar-scan-filter.html

Como alternativa (se você ainda preferir digitalizar alguns JARs) você poderia acrescentar novos valores à propriedade "tomcat.util.scan.DefaultJarScanner.jarsToSkip" em "{TOMCAT_HOME} /conf/catalina.properties".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top