Cache de html

Olá pessoal,
Temos uma aplicação swing que gera cotações em formato html, e são publicadas em nosso web-server (Tomcat 6.0.16), o qual tb roda sistemas jsp e jsf. Pois bem, estou com o seguinte problema. O Usuário formata uma cotação e pede para o sistema swing gerar o html (até aí perfeito, o html está ok), porém se o usuário fizer qualquer alteração na cotação do sistema swing o html não é atualziado, somente se atualiza quando o tomcat é reiniciado.
Tomei as seguintes ações:
Configurei os header http de cache:
<% Response.CacheControl = “no-cache” %>
<% Response.AddHeader “Pragma”, “no-cache” %>
<% Response.Expires = -1 %>
Porém não funcionou, o pior é que o problema é intermitente, chega a ficar de 3 a 4 dias se comportando normalmente de o problema volta a acontecer.
Estou desconfiando que seja o proxy da empresa.
Alguém já passou por isso, tem alguma dica ???
Obrigado.

Cara essa e uma anomalia bem estranha. Passei por um problema bem parecido com um sistema e a solução foi similar a sua. No meu caso montei um PhaseListener e deixei ele fazer todo o resto.

public class CacheControlPhaseListener implements PhaseListener {
	private static final long serialVersionUID = 951206362860324930L;

	public PhaseId getPhaseId() {
		return PhaseId.RENDER_RESPONSE;
	}
	
	public void afterPhase(PhaseEvent event) {}
	
	public void beforePhase(PhaseEvent event) {
		FacesContext facesContext = event.getFacesContext();
		HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
		response.setHeader("Pragma", "No-Cache");
		response.setHeader("Cache-Control", "no-cache,");
		response.setHeader("Cache-Control", "no-store");
		response.setHeader("Cache-Control", "private");
		response.setHeader("Cache-Control", "must-revalidate");
		response.setHeader("Cache-Control", "max-stale=0");
		response.setHeader("Cache-Control", "max-age=0");		
		response.setDateHeader("Expires", 1);
	}
	
}

Espero que ajude.

att,