Olá amigos, estou tendo alguns problemas em gerar meu relatório, feito no iReport, em PDF.
A maneira que utilizei, gera um pdf no disco rígido do servidor e se o usuário tiver o plugin pra visualizar o PDF no browser, meu relatorio aparece dentro do browser ou é chamado a janelinha para download do memso. Até aí está perfeito! Ou melhor, quase…
O problema que está acontecendo é que o relatorio está sendo gravado no disco régido do servidor com o nome do relatório + a extensão pdf. Por exemplo: MeuRelatorio.pdf. Desta forma quando dois usuário tentam gerar o mesmo relatório porém com filtros diferentes, o sistema mostra sempre o ultimo pdf gerado no disco.
O que posso fazer pra resolver este problema?? Pensei em criar o arquivo pdf com um nome aleatorio ou algo assim pra não acontecer de um relatório sobrepor o outro, porém o problema é que eu precisaria remover estes arquivos depois prta não ficar com um monte de pdf “perdido” no servidor.
O que vcs acham melhor eu fazer? Este problema tem solução?
Abaixo, disponibilizei o código que gera o pdf.
...
String pathJasper = getServletContext().getRealPath("/WEB-INF/classes/br/com/dominio/relatorio/prestador/")+ "/";
String path = getServletContext().getRealPath("/");
JasperPrint impressao = JasperFillManager.fillReport(pathJasper + "PrestadorRelatorio.jasper", parametros, ds);
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, impressao);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, path + "PrestadorRelatorio.pdf");
exporter.exportReport();
res.sendRedirect("PrestadorRelatorio.pdf");
...