Timeout de jsp, sugestões

4 respostas
A

Olá a todos, preciso de uma dica pois não sei bem como resolver uma situação, é o seguinte:

Tenho uma página em .jsp que faz uma consulta… em um banco de dados, mas essa consulta pode demorar um poco dependendo da quantidade de registros, e eu não quero que dê timeout na sessão. Como eu posso fazer isso? pensei nas seguintes possibilidades:

–> enviar ‘flags’ para a pagina dizendo que está processando a consulta, para evitar o timeout
–> por meio de uma thread, fazer a consulta e deixa rodando… daih deixa uma pagina de uma barra de progresso e depois que a thread acabar de rodar a consulta, fazer ela retornar o resultado pra pagina

Foram essas as soluções, por favor se tiver mais idéia deixe, e tb fale qual é a melhor e mais viavel…
Eu só tive idéia, então não quer dizer que eu saiba implementar essas 2 ideias que postei… quando postarem sugestões e opiniões por favor, coloquem alguma referencia ou trecho de código para eu me basear na implementação

Muito obrigado pela ajuda, este é o fórum que mais me ajuda no projeto… o/ 8)

4 Respostas

M

na verdade acho um pouco complicado gerar uma consulta muito grande numa aplicação web tem vários problemas e um deles é o timeout. Outro problema no caso do ie é se demorar muito para enviar dados para tela depois de um certo tempo pode ficar em branco o navegador depnois de concluir a cosulta. Seguem 3 dicas

dica 1: paginar esta consulta para não dar timeout
dica 2: se o processo for muito demorado o bom seria executar uma aplicação em console: shell script ou em java mesmo…e chamar ela via servlet, claro supondo que o processo seja bem demorado e você ter direito para administrar o servidor.
dica 3: para o navegor nao travar é bom em tempos e tempos ter um output ex: em cada 5 segundos imprimir em html o tempo de execução do processo da consulta

abs

A

Sim, por isso eu vim prak em busca de idéias… uma consulta também não demoraria TANTOO assim, seria em faixas de minutos

Mauricio de Mello:

dica 1: paginar esta consulta para não dar timeout

Não posso paginar, somente se a consulta gerar dados extensos

Mauricio de Mello:

dica 2: se o processo for muito demorado o bom seria executar uma aplicação em console: shell script ou em java mesmo…e chamar ela via servlet, claro supondo que o processo seja bem demorado e você ter direito para administrar o servidor.
dica 3: para o navegor nao travar é bom em tempos e tempos ter um output ex: em cada 5 segundos imprimir em html o tempo de execução do processo da consulta
abs

eu quero fazer algo como vc disse na dica 3… como eu faço isso e rodo minha consulta por tras que depois dela ter feita, eu mostre o resultado dela?

Obrigado pela atenção!

M

ja que não vai demorar tanto tenta este link para configurar o timeout do tomcat

http://www.guj.com.br/java/194203-performance-da-aplicacao-no-tomcat

A

Mauricio de Mello:
ja que não vai demorar tanto tenta este link para configurar o timeout do tomcat

http://www.guj.com.br/java/194203-performance-da-aplicacao-no-tomcat

acho isso uma solução temporária… alguem mais?

Criado 19 de janeiro de 2011
Ultima resposta 20 de jan. de 2011
Respostas 4
Participantes 2