Como desabilito o cache do tomcat? Estou tendo problemas de arquivos estáticos estranhos

23

Como evito que o tomcat armazene em cache? Eu tenho css e arquivos html básicos que eu carrego e uso via ajax, e a menos que eu reinicie o tomcat, as mudanças não parecem refletir. Máquinas diferentes, diferentes navegadores e eu não recebo os arquivos atualizados.

Pensamentos?

    
por Stefan Kendall 14.07.2009 / 01:49

4 respostas

19

Você pode ter que excluir a pasta de cache do aplicativo em / work / Catalina / localhost depois de alterar o sinalizador cachingAllowed.

A configuração pode ser introduzida no server.xml como

<Context className="org.apache.catalina.core.StandardContext"
                 cachingAllowed="false"
                 charsetMapperClass="org.apache.catalina.util.CharsetMapper"
                 cookies="true" 
                 reloadable="false" 
                 wrapperClass="org.apache.catalina.core.StandardWrapper">
        </Context>
    
por 14.07.2009 / 02:57
13

Eu tive esse problema no Tomcat 7 e o motivo é que eu tinha antiResourceLocking definido como true (soava como uma boa ideia ...).

De acordo com os documentos ( link ):

Please note that setting this to true has some side effects, including the disabling of JSP reloading in a running server: see Bugzilla 37668.

No meu caso, isso faz com que arquivos de texto estáticos simples sejam armazenados em cache.

Então, em resumo, pelo menos para desenvolvimento rápido eu tive que usar:

antiResourceLocking="false"
cachingAllowed="false"
    
por 24.11.2012 / 11:41
9

Para Tomcat 8 / Tomcat 9, as propriedades devem ser adicionadas em conf / context.xml da seguinte forma

<Context>
  <Resources antiResourceLocking="false" cachingAllowed="false" />
  ...
</Context>

Você pode ter que excluir a pasta de cache do aplicativo em / work / Catalina / localhost depois de alterar o sinalizador cachingAllowed . Também limpe o cache do IntelliJ IDEA (se você usá-lo para executar o Tomcat):

Mac:     /Users/{:user}/Library/Caches/IntelliJIdea{:version}/tomcat/  
Linux:   /home/{:user}/.IntelliJIdea{:version}/system/tomcat/
Windows: C:\Users\{:user}\.IntelliJIdea{:version}\system\tomcat\

Consulte Referência de configuração do Apache Tomcat 9 para obter outros parâmetros.

    
por 29.03.2016 / 16:22
4

Você verificou esta documentação: Referência de configuração do Apache Tomcat ?

cacheMaxSize -- Maximum size of the static resource cache in kilobytes. If not specified, the default value is 10240 (10 megabytes).

cacheTTL -- Amount of time in milliseconds between cache entries revalidation. If not specified, the default value is 5000 (5 seconds).

cachingAllowed -- If the value of this flag is true, the cache for static resources will be used. If not specified, the default value of the flag is true.

Esses parâmetros são os mesmos para o Tomcat 5.5 e o Tomcat 6.0.

    
por 14.07.2009 / 02:49