Problema de Heap Space com IReport

Olá pessoal, estou a fazer um relatório q deve ser gerado pela minha classe java. . no entando o relatório contem muitos campos e ficou pesado demais…
cheguei a ler algo sobre um parametro do IReport chamado REPORT_VIRTUALIZER que criaria um cache executando o relatório e seus sub relatórios por partes…
mas não entendi como faço isso. alguem sabe?? Tem alguma outra solução melhor para o meu problema??

desde já agradeço . .

obrigado

Amigo, para melhorar a ajuda, poderia colocar seu codigo aqui para visualizarmos.

Em certos aspectos o jasper é meio chato mesmo, mas eu gosto dele hehe.

Enfim, para este erro ocorrer, voce deve estar estorando a memoria da VM, poderia tentar aumentar este tamanho para tentar gerar o relatorio totalmente na memoria!
Outro erro q pode ocorrer, é de estar ultrapassando os limites das margens da página, verifique isso, tente aumentar os campos e ver se funciona.

Ou você pode fazer uma virtualização do seu relatório, gerando ele aos poucos e gravando localmente!!

Para contornar esse problema, podemos “virtualizar” a geração do relatório utilizando um parâmetro pré-definido do jasperReports: REPORT_VIRTUALIZER

Com isso, ao invés do Jasper tentar preencher o relatório totalmente utilizando a memória, para somente depois liberá-la, ele ?gerencia? a memória, gerando uma parte do relatório, e passando essa parte para um arquivo de cache, depois volta a gerar outra parte, e assim por diante, até o término da geração.

//Cria um cache no  C:\tmp
JRFileVirtualizer fileVirtualizer = new JRFileVirtualizer(100, "c:\\tmp"); // onde 100 é tamanho máximo (em objetos JRVirtualizable) do paginado em cache.

//Seta o parametro REPORT_VIRTUALIZER com o diretório onde será armazenado o cache
HashMap parametros = new HashMap();
parametros.put(JRParameter.REPORT_VIRTUALIZER, fileVirtualizer);
 
// Segue com sua logica do relatorio normalmente
JasperFillManager.fillReportToFile("MeuRelatorio.jasper", parametros ... 

Espero que ajude, qualquer coisa me add no msn: rdmardegam@hotmail.com

Abraço.