Boa tarde pessoal!
É o seguinte …
Estou convertendo um sistema de ASP para JAVA (JSP). Meu problema está relacionado com a emissão de relatórios. Estou utilizando jasper reports e tudo tem funcionado direitinho com a seguinte exceção:
Tenho alguns relatórios que possuem mais de 1000 páginas. Em ASP utilizo o crystal reports. O crystal (no ambiente web) não envia o relatório para o browser de uma só vez, mas em partes, ou seja, se uma listagem possui 1000 páginas, ele manda apenas a primeira página. Se o usuário paginar o relatório o servidor manda a página seguinte e assim por diante. Um controle activex é instalado no browser para que este mecanismo funcione. Isto nos dá uma tranquilidade muito grande pois não temos que nos preocupar com o tamanho do relatório pois do lado cliente o browser nunca terá que armazenar todo o relatório e no servidor o crystal gerencia a memória utilizada muito bem. Outro ponto positivo é o tempo: nenhum relatório demora demais para ser emitido.
Com o jasper reports estou utilizando o formato PDF para visualização. Com os relatórios menores não há problema algum mas testando algumas listagens maiores percebi que o consumo de memória do servidor é muito grande. Na maioria das vezes (95%) o TOMCAT acusa falta de memória e não completa a execução do relatório. Nas pouquíssimas vezes que o relatório foi emitido a demora foi muito grande.
Existe algum recurso do próprio jasper reports ou algum framework que faça algo parecido com o crystal ? se não: qual a melhor forma (em java) de se contornar este problema ?
Valeu!