Relatórios grandes com JasperReports  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
David
JavaEvangelist
[Avatar]

Membro desde: 18/03/2005 13:10:33
Mensagens: 450
Localização: Natal/RN
Offline

Eu estou fazendo relatórios usando o JasperReports mas alguns deles são muito grandes (12 mil páginas, por exemplo). O relatório demora pra caramba pra ser gerado e as vezes dá um out of memory error.

Teria como fazer uma espécie de stream, onde eu vá vendo as primeiras páginas e enquanto isso as outras são carregadas, ou ainda fazer com que os dados de uma página só sejam buscados quando essa página for acessada?

Obrigado.

David Pereira
Engenheiro de Computação - UFRN
Mestre em Engenharia Elétrica
Doutorando em Engenharia Elétrica
[WWW]
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

David wrote:Eu estou fazendo relatórios usando o JasperReports mas alguns deles são muito grandes (12 mil páginas, por exemplo). O relatório demora pra caramba pra ser gerado e as vezes dá um out of memory error.


David, uma pergunta: você tem certeza que quer gerar um relatório de 12 mil páginas? Isso não faz o menor sentido. Não tem como a pessoa usar isso. Isso me parece um problema conceitual muito maior que a sua pergunta.

Se você puder explicar a razão pela qual isso é necessário, aí posso ajudar.

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
David
JavaEvangelist
[Avatar]

Membro desde: 18/03/2005 13:10:33
Mensagens: 450
Localização: Natal/RN
Offline


Eu também acho um absurdo, mas... É um relatório de movimentação de bens da universidade. Eles precisam pra fazer auditorias, etc. Não me perguntem como eles usam porque eu não sei, hehehehe, mas é um dos relatórios que pediram pra incluir no sistema que estamos desenvolvendo!

Se tiver alguma solução melhor eu agradeço. Mas eu também gostaria de saber dessa maneira que eu falei também porque eu fiquei curioso e pode ser que eu precise algum dia...

David Pereira
Engenheiro de Computação - UFRN
Mestre em Engenharia Elétrica
Doutorando em Engenharia Elétrica
[WWW]
mister__m
Virtual Machine Man
[Avatar]

Membro desde: 18/03/2005 16:13:17
Mensagens: 736
Offline

David wrote:
Eu também acho um absurdo, mas... É um relatório de movimentação de bens da universidade. Eles precisam pra fazer auditorias, etc. Não me perguntem como eles usam porque eu não sei, hehehehe, mas é um dos relatórios que pediram pra incluir no sistema que estamos desenvolvendo!


Princípio básico do desenvolvimento de software: se você não entende como algo vai ser usado, não adianta fazer Melhor conversar com o usuário para entender o caso de uso.

David wrote:
Se tiver alguma solução melhor eu agradeço.


Provavelmente eles vão estar procurando algo específico, como o que ocorreu durante um certo período, ou com um certo item etc. Basta fazer com o que o relatório gerado atenda as essas condições com o nível de granularidade que eles precisam. Aí não vai gerar 12k páginas... (espero).

David wrote:
Mas eu também gostaria de saber dessa maneira que eu falei também porque eu fiquei curioso e pode ser que eu precise algum dia...


Não me lembro exatamente como o Jasper processa isso, mas se ele processar o report página a página você vai ter que adaptar um ou escrever seu próprio visualizador.

Michael Nascimento Santos, aka Mister M

Summa Technologies do Brasil - http://www.summa-tech.com/
genesis: Uma nova forma de desenvolver aplicações - https://genesis.dev.java.net/
ThinNB: Suporte a Thinlet no NetBeans - https://thinnb.dev.java.net/
Líder da JSR-310 - Date and Time API
Expert Group Member das JSRs 207 (PD4J), 250 (Common Annotations), 270 (Java 2 SE 6.0), 296 (Swing Framework) e 303 (Bean Validation)
SouJava: Fortalecendo a comunidade Java brasileira - https://soujava.dev.java.net/ https://www.soujava.org.br/
JSR Community @ java.net - http://community.java.net/jsr
Blogs - http://blog.michaelnascimento.com.br/ http://today.java.net/pub/au/80
Twitter - @mr__m
[WWW]
David
JavaEvangelist
[Avatar]

Membro desde: 18/03/2005 13:10:33
Mensagens: 450
Localização: Natal/RN
Offline

Ok. Eu vou verificar como exatamente eles querem esse relatório! Obrigado!

David Pereira
Engenheiro de Computação - UFRN
Mestre em Engenharia Elétrica
Doutorando em Engenharia Elétrica
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team