JasperReport - Bub estranho em Aplicaçao Web

Pessoal, bom dia, tenho uma aplicaçao Web rodando em um servidor e dentre os varios relatorios do sistema um, em particular, está apresentando um bug muito estranho que nao consigo resolver.

Todos os relatorios gerados sao primeiramente gravados em uma pasta (a mesma para todos) e em seguida o sistema redireciona para o Pdf gerado.

Porém, quando vou gerar um dos relatorios acontece o seguinte:
O sistema cria o pdf e redireciona. Quando peço para gerar o mesmo relatorio novamente segundo outros dados o redirecionamento vai para o relatorio gerado anteriormente e soh consigo uma nova visualizaçao se eu reiniciar a aplicaçao, ou seja, parece que na mesma sessao o relatorio anterior nao está sendo modificado. Porém, observei que o novo relatorio está sendo criado (fisicamente) porem o comando response.sendRedirect(“Fatura”+nomeEmpresa+".pdf"); está direcionando para o relatorio antigo.
Segue abaixo o codigo para a geraçao do pdf:

String pathJasper = getServletContext().getRealPath("/relatorio/fatura") + "/";
String path = getServletContext().getRealPath("/");

JRDataSource jrDataSourse = new JRBeanArrayDataSource(array.toArray());
JasperPrint impressao = JasperFillManager.fillReport(pathJasper + "FaturaBid.jasper", parametros, jrDataSourse);
JasperExportManager.exportReportToPdfFile(impressao, path + "/Fatura"+nomeEmpresa+".pdf");
response.sendRedirect("Fatura"+nomeEmpresa+".pdf");

o codigo seguinte refere-se a outro relatorio gerado pelo sistema, porem, este funciona normalmente e sempre que peço para gerar novamente o relatorio com outros dados funciona perfeitamente:

String pathJasper = getServletContext().getRealPath("/relatorio/contrato") + "/";
String path = getServletContext().getRealPath("/");

JRDataSource jrDataSourse = new JRBeanArrayDataSource(array.toArray());
JasperPrint impressao = JasperFillManager.fillReport(pathJasper + "ContratoBid.jasper", parametros, jrDataSourse);
JasperExportManager.exportReportToPdfFile(impressao, path + "/Relatorio"+nomeEmpresa+".pdf");
response.sendRedirect("Relatorio"+nomeEmpresa+".pdf");

Alguem sabe porque acontece isso?
Obrigado!

Eu não sei o porque deste problema, mas lendo o teu tópico, fiquei pensando porque tu faz esta jogada de criar o pdf fisicamente. Não poderia jogar o pdf diretamente para o output? Por exemplo:

[code]JasperPrint impressao = JasperFillManager.fillReport(pathJasper + “FaturaBid.jasper”, parametros, jrDataSourse);

byte[] bytes = JasperExportManager.exportReportToPdf(impressao);
response.setContentType(“application/pdf”);
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
[/code]

Boa! Muito obrigado, mutano! Resolveu meu problema!
Um abraço!

[quote=christianovale]Boa! Muito obrigado, mutano! Resolveu meu problema!
Um abraço![/quote]

Cara, teria como vc fazer um grande favor pra mim, se não for incoveniente, teria como vc postar o código deste servlet inteiro pra eu poder tentar entender este lance de chamar um relatorio feito no ireport na minha aplicação web ???

Valew.

ola pessoal

tem como postar esta servlet, ele gera o relatorio com bases no parametro ou via conexao do banco?

valeu