Gerar arquivo pdf dentro de um loop

195 views
Skip to first unread message

Carlos Silva

unread,
Nov 2, 2013, 4:44:40 PM11/2/13
to jasperreports-...@googlegroups.com
Senhores, boa noite.
Gostaria de ajuda para resolver um problema muito estranho. Fiz um while que chama 40 vezes este código:

-----
                   Iterator<conteudo> it = Leitores.Iterator();
                   while(it.hasNext()
                   {
                        conteudo ctd = (conteudo) it.next();
                        String pdfFileName = ctd.getDestino();
                        List lista = ctd.getLista();

JRBeanCollectionDataSource BCD = new JRBeanCollectionDataSource(lista);
                JasperPrint impressao = JasperFillManager.fillReport(jasperPath + "relatorio.jasper", null, BCD); 

                JasperExportManager.exportReportToPdfFile(impressao, pdfFileName);
-------------

O código funciona. Mas dentro do loop, ele nao gera todos os relatórios. 'Pula' alguns. Caso eu execute o código fora do loop (um a um), tudo funciona bem. Não dá erro algum. As variáveis são preenchidas mas, dos quarenta pedidos, sempre faltam alguns. É como se não desse tempo para salvar o arquivo.
Alguém já passou por isso?
Alguém pode me ajudar?

Uso VAADIN 7
Jasper 3.7

Obrigado antecipadamente.

Victor Espíndola Martins

unread,
Nov 4, 2013, 7:36:29 AM11/4/13
to jasperreports-...@googlegroups.com
Faz um log com os nomes dos arquivos PDFs que estão sendo gerados, talvez isto dê uma luz.




--
Você está recebendo esta mensagem porque se inscreveu no grupo "JasperReports / iReport Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jasperreports-irepor...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
Victor Espíndola Martins
Bacharel em Ciência da Computação pela UFPA
Linux User Number: #508930
Certified Scrum Master (CSM) - ScrumAlliance
Oracle Certified Java Programmer 6
Analista de Desenvolvimento - Cobra Tecnologia S.A.

Carlos Silva

unread,
Nov 4, 2013, 6:54:12 PM11/4/13
to jasperreports-...@googlegroups.com
Olá Victor. Eu coloquei um System.out...  e vejo o nome de cada arquivo. Como se ele tivesse sido escrito no disco. Mas não está escrito. Vc já viu alguma coisa assim?
Um abraço


Em segunda-feira, 4 de novembro de 2013 09h36min29s UTC-3, Victor escreveu:
Faz um log com os nomes dos arquivos PDFs que estão sendo gerados, talvez isto dê uma luz.


Em 2 de novembro de 2013 17:44, Carlos Silva <isotro...@gmail.com> escreveu:
Senhores, boa noite.
Gostaria de ajuda para resolver um problema muito estranho. Fiz um while que chama 40 vezes este código:

-----
                   Iterator<conteudo> it = Leitores.Iterator();
                   while(it.hasNext()
                   {
                        conteudo ctd = (conteudo) it.next();
                        String pdfFileName = ctd.getDestino();
                        List lista = ctd.getLista();

JRBeanCollectionDataSource BCD = new JRBeanCollectionDataSource(lista);
                JasperPrint impressao = JasperFillManager.fillReport(jasperPath + "relatorio.jasper", null, BCD); 

                JasperExportManager.exportReportToPdfFile(impressao, pdfFileName);
-------------

O código funciona. Mas dentro do loop, ele nao gera todos os relatórios. 'Pula' alguns. Caso eu execute o código fora do loop (um a um), tudo funciona bem. Não dá erro algum. As variáveis são preenchidas mas, dos quarenta pedidos, sempre faltam alguns. É como se não desse tempo para salvar o arquivo.
Alguém já passou por isso?
Alguém pode me ajudar?

Uso VAADIN 7
Jasper 3.7

Obrigado antecipadamente.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "JasperReports / iReport Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jasperreports-ireport-brasil+unsub...@googlegroups.com.

Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Victor Espíndola Martins

unread,
Nov 5, 2013, 8:01:32 AM11/5/13
to jasperreports-...@googlegroups.com
Carlos, isso nunca aconteceu comigo. Tenho duas sugestões: Verifique se arquivos com o mesmo nome não estão sobrescrevendo outros; e verifique também a póssibilidade de virtualizar a geração destes arquivos - vide: http://www.danielsousa.com.br/wp/2010/09/12/usando-virtualizacao-para-gerar-grandes-relatorios-no-jasperreports/. Não se se isto vai lhe ajudar, mas já é uma tentativa...

Qualquer coisa, posta ae!

Um Abraço!


Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jasperreports-irepor...@googlegroups.com.

Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Carlos Silva

unread,
Nov 5, 2013, 10:32:41 AM11/5/13
to jasperreports-...@googlegroups.com
OK, Victor. Obrigado. Eu também nunca tinha visto. Eu penso que o sistema (win8, HD, etc), não estão suportando a velocidade de processamento. Repito nunca ter visto algo assim. Mas é o máximo que posso supor. De qualquer forma, valeu... Obrigado...Um abraço
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jasperreports-ireport-brasil+unsubs...@googlegroups.com.

Para obter mais opções, acesse https://groups.google.com/groups/opt_out.



--
Victor Espíndola Martins
Bacharel em Ciência da Computação pela UFPA
Linux User Number: #508930
Certified Scrum Master (CSM) - ScrumAlliance
Oracle Certified Java Programmer 6
Analista de Desenvolvimento - Cobra Tecnologia S.A.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "JasperReports / iReport Brasil" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jasperreports-ireport-brasil+unsub...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Carlos Silva

unread,
Nov 5, 2013, 10:35:29 AM11/5/13
to jasperreports-...@googlegroups.com
Desculpe, eu quis dizer:
Eu penso que o sistema (win8, HD, etc), não ESTÁ suportando a velocidade de processamento....

Victor Espíndola Martins

unread,
Nov 5, 2013, 11:35:08 AM11/5/13
to jasperreports-...@googlegroups.com
Blz Carlos! Se conseguires resolver, compartilha a solução conosco, se possível é claro...


Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jasperreports-irepor...@googlegroups.com.

Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Carlos Silva

unread,
Nov 5, 2013, 7:59:05 PM11/5/13
to jasperreports-...@googlegroups.com
meu amigo, Victor, você está certo!... Havia um erro. Para evitar duplicidade, eu deletava o arquivo antes de gravar um novo. O código para deletar arquivo tinha um erro: Excluia outros arquivos também. Agora está tudo certo. Eu agradeço a sua atenção e paciência. Obrigado mesmo. Um grande abraço 

Victor Espíndola Martins

unread,
Nov 5, 2013, 10:22:05 PM11/5/13
to jasperreports-...@googlegroups.com
Imagina Carlos! Que bom que vc resolveu o seu problema, fico feliz em ter ajudado. Precisando... estamos ai. 

Um Abraço e sucesso!


Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jasperreports-irepor...@googlegroups.com.

Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
Reply all
Reply to author
Forward
0 new messages