quarta-feira, 6 de julho de 2011

RES: [java-br] Otimizar geração de arquivo CSV

·

 

Olá Leonardo,

O seu problema é tempo de processamento que sempre irá gerar timeout.

Como a escrita é do tipo texto, você pode tentar realizar o envio de dados
direto, ao invés de buffer.
>>> response.getWriter().write("dados"); <<<
Desta maneira o servidor vai servindo o navegador que não irá dar timeout.

Outra opção seria a criação de um mecanismo de geração de relatório, em que
o usuário seria informado do progresso, com refreshs na página, e o
relatório somente seria enviado ao final do processamento. Mas esta opção já
é um pouco mais complicada, você deve achar alguns exemplos na internet.

Belezs!!

Claudio Weiler
http://claudioweiler.blogspot.com/

-----Mensagem original-----
De: java-br@yahoogrupos.com.br [mailto:java-br@yahoogrupos.com.br] Em nome
de Leonardo Nardi
Enviada em: quarta-feira, 6 de julho de 2011 16:11
Para: java-br
Assunto: [java-br] Otimizar geração de arquivo CSV

Olá a todos do grupo!

Estou enfrentando um problema no momento em que estou gerando um arquivo
CSV. O que acontece é que, para uma determinada consulta, há o retorno de
11353 registros do BD. Isto está demorando muito no instante da chamada do
método que varre a lista com estes registros(11353) e vai gerando o arquivo.
No final dá timeout, dando erro 404 na tela e não gera o arquivo. Para
gerá-lo estou criando o seguinte objeto:

*RegistroBean registroBean;*
*PrintWriter printWriter = new PrintWriter(response.getWriter(), false);*
*BufferedWriter bw = new BufferedWriter(printWriter);*
*
for(Iterator it = listaX.iterator(); it.hasNext();) {
registroBean = (RegistroBean) it.next();
*
bw.write("Dado 1");
bw.write(';');
bw.write("Dado 2");
bw.write(';');

Gostaria de saber o que posso fazer para otimizá-lo?

Desde já, antecipadamente, agradeço a atenção dispensada.

Leonardo Nardi

"Quando plantardes para um ano, semeai grão. Quando plantardes para uma
década, plantai árvores. Quando plantardes para uma vida, educai o homem. Se
derdes ao homem um peixe, ele se alimentará uma vez. Se lhe ensinardes a
pescar, ele se alimentará a vida inteira."
Autor: Kuan Tzu - III Século a.c.

"A ciência sem religião é aleijada;
a religião sem ciência é cega."
Autor: Albert Einstein

--------
A Visão do TRE-PR é ser reconhecido como instituição pública de excelência, indispensável para o aperfeiçoamento da democracia.
Todos os eleitores de Curitiba deverão fazer seu recadastramento biométrico. Maiores informações em nosso site: www.tre-pr.jus.br

__._,_.___
Atividade nos últimos dias:
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog