Como limpar cache Tomcat?

Como faço para que o Tomcat não armazene em cache os arquivos gerados pela minha aplicação web?

Estou com o seguinte problema, a minha aplicação gera arquivos PDF no servidor para serem baixados pelo usuário, só que o container não atualiza estes arquivos a medida que o usuário os gera.

Se eu for no servidor e abrir o arquivo gerado, o mesmo foi criado de forma correta com os dados atuais, só que quando tento baixá-lo, resgato um arquivo que possivelmente está em cache, não correspondendo ao último gerado.

A maneira mais estúpida é mandar cada PDF com um nome diferente:

http://suaaplicacao.com.br/aplicacao/servletGeradorDePDFs/meurelatorio.pdf?id=1234s5b2e13h44j994d2

onde id=1234s5b2e13h44j994d2 é um “id” aleatório que você muda a cada vez que for solicitar um novo arquivo. Aí isso vai ficar no cache, mas quando você for pedir uma nova versão do relatório, como o ID vai ser diferente, então vai pegar a versão nova, não a do cache.

boa pergunta, tem como limpar o cache… tive um problema com isso esses dias

tipow… tinha um arquivo header.jsp

dai na minha maquina alterei esse arquivo, e tals…

dai substitui o arquivo header.jsp pelo que tinha alterado

simplesmente quando abria a pagina abria o arquivo antigo, sem que ele nem estava mais lah

algum jah passou por isso? que explicações tenho pra esse fato?

vlws

apaga a pasta “work” dentro do tomcat e reinicia ele … :stuck_out_tongue:

O cache do tomcat fica no diretório work. Você pode limpar esse diretório, assim automaticamente “esvazia” seu cache. Mas seria interessante pensar em fazer isso no momento de execução da aplicação.