| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2005 18:30:05
|
MarcioTavares
Virtual Machine Man
![[Avatar]](/images/avatar/9dfcd5e558dfa04aaf37f137a1d9d3e5.png)
Membro desde: 09/11/2002 19:33:28
Mensagens: 738
Localização: Rio de Janeiro
Offline
|
Fala galera,
Estou tendo problemas na geração de um relatório, que aparentemente tem a ver com o tamanho do stream passado para o JasperReports.
Minha aplicação geradora roda sob Tomcat, cria o stream (na maioria das vezes é em Html) em tempo real e gera o report via ServletOutputStream e JRExporter. Esse report não dá erro sempre. Depende da quantidade de parâmetros passados para ele. Um dos parâmetros determinantes para o tamanho do report (e do stream) são os estados do país. Na maioria das vezes um estado gera pelo menos 2 páginas de relatório, ou seja, 27 estados gerarão no mínimo 54 páginas. Quando eu escolho poucos estados o report é gerado com sucesso, perfeito. O erro só acontece de fato quando o número de estados é próximo a 27. Segue um pedaço da pilha de erro:
Chegaram a sugerir que isso poderia estar sendo causado por um possível fechamento do socket devido a algum timeout, porque a query sql demora um tempo considerável para rodar. Mas eu verifiquei que o problema não é esse, porque tenho um outro report que demora, dependendo dos parâmetros passados para a query, 10 minutos para rodar, mas não é tão grande quanto esse. Muito mais tempo do que o report problemático.
Já verifiquei tudo o que estava ao meu alcance, e do que eu poderia desconfiar, mas não consegui nem chegar perto de uma solução. Alguém tem alguma idéia do que possa estar acontecendo? Se é algum tipo de estouro de buffer no JasperReports, no ServletOutputStream ou alguma outra coisa?
Grande abraço a todos.
|
- Galera do RJ precisa prestigiar os eventos de Java!!
- Sou a favor da extinção do Cobol da face da Terra! |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2005 18:37:32
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
10 minutos cara? Certeza?
A requisição http não dá timeout?
This message was edited 1 time. Last update was at 28/07/2005 18:37:46
|
Former LIPE. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2005 18:40:35
|
MarcioTavares
Virtual Machine Man
![[Avatar]](/images/avatar/9dfcd5e558dfa04aaf37f137a1d9d3e5.png)
Membro desde: 09/11/2002 19:33:28
Mensagens: 738
Localização: Rio de Janeiro
Offline
|
Sim, tenho certeza. Às vezes é até mais do que isso.
[editado]
Bom, desculpem, na verdade o que demora mais de 10 minutos é a execução da query sql.
This message was edited 2 times. Last update was at 28/07/2005 18:42:29
|
- Galera do RJ precisa prestigiar os eventos de Java!!
- Sou a favor da extinção do Cobol da face da Terra! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2005 18:46:15
|
furetz
Entusiasta Java
![[Avatar]](/images/avatar/b7d35509ab19d0cd2256a219de0fe0ff.jpg)
Membro desde: 19/11/2004 21:32:22
Mensagens: 20
Offline
|
Eu tive um problema com timeout uma vez.
A query sql demorava, às vezes, mais que 40 minutos.
Para resolver isso eu fiz uma gambiarra, quando vou iniciar o processamento do relatório eu seto a timeout daquela sessão para 0, depois quando termina a query eu volto o timeout para o tempo que estava.
|
" Mataro meu passarinho!!!!
...Pega eles Tupi!!!!!!! "
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2005 18:55:00
|
MarcioTavares
Virtual Machine Man
![[Avatar]](/images/avatar/9dfcd5e558dfa04aaf37f137a1d9d3e5.png)
Membro desde: 09/11/2002 19:33:28
Mensagens: 738
Localização: Rio de Janeiro
Offline
|
O problema é que o que parece estar causando o erro é o tamanho da saída gerada. O problema não é com tempo.
|
- Galera do RJ precisa prestigiar os eventos de Java!!
- Sou a favor da extinção do Cobol da face da Terra! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2005 20:16:58
|
MarcioTavares
Virtual Machine Man
![[Avatar]](/images/avatar/9dfcd5e558dfa04aaf37f137a1d9d3e5.png)
Membro desde: 09/11/2002 19:33:28
Mensagens: 738
Localização: Rio de Janeiro
Offline
|
Descobri o que era: estouro do heap space da VM. Coloquei o Tomcat pra iniciar com 128MB e o treco rodou.
É isso aí, vivendo e aprendendo.
|
- Galera do RJ precisa prestigiar os eventos de Java!!
- Sou a favor da extinção do Cobol da face da Terra! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/07/2005 22:32:30
|
Filipe Sabella
GUJ Expert
Membro desde: 12/03/2003 11:25:57
Mensagens: 4680
Offline
|
Cuidado para não deixar 10 clientes fazerem a mesma requisição ao mesmo tempo @.@
|
Former LIPE. |
|
|
 |
|
|