Oi Walter.
Voc� pode tamb�m utilizar, como algu�m j� citou aqui, um pool de
conex�es. Abrir as conex�es com o BD no m�todo init do Servlet �
confort�vel pois voc� s� faria isso uma vez, usando a mesma conex�o para
atender as requisi��es. Como voc� pode observar isto tem efeitos
colaterais. Abrir as conex�es no m�todo doGet � poss�vel, mas lembre-se
que a abertura da conex�o ao BD � uma das tarefas mais pesadas de uma
aplica��o.
Um Pool de conex�es deve ajud�-lo bastante nesta tarefa e no endere�o
abaixo existe um artigo explicando o funcionamento e disponibilizando o
c�digo fonte para voc� usar:
http://www.webdevelopersjournal.com/columns/connection_pool.html
[]'s e bons c�digos.
Handerson F. Gomes
Walter do Valle wrote:
>
> Ola lista
>
> Estou precisando de uma maozinha (ou seria de um mousezinho?!) realtivo
> a Java. Estou desenvolvendo um servlet java que acessa um banco de dados
> DB2. Em um primeiro momento tive problemas com consultas de um usuario
> que entravam no browser de outro usuario que fez uma outra consulta no
> mesmo instante. Pesquisei um pouco e descobri que o servlet deve ser
> thread-safe. Bem, declarei o metodo doGet() do servlet como sendo
> synchronized. Isto resolveu meu problema mas me criou outro problema.
> Agora as consultas nao mais se confundem, mas ao que parece o WebServer
> estah enfileirando as consultas, de modo que as mesmas demoram uma
> eternidade (alguns minutos!!!) para serem executadas simultaneamente. Se
> forem feitas idividualmente sao bem rapidas (quase instantaneas).
>
> O DBA deste meu banco me disse que sempre aparece apenas uma conexao ao
> banco de dados, nao importa quantos usuarios estejam consultando via
> servlet. Isto eh normal?
>
> Ufa!
>
> Minha pergunta eh: quais trechos exatamente devo sincronizar para nao
> ter dados cruzados nem amarrar a consulta???? O que posso estar fazendo
> de errado?
>
> Em tempo: conecto o banco de dados apenas no metodo init().
>
> --
>
> (_:_ --- Walter do Valle
> /---------/
> .-/. \ / \--. Universidade Federal de Santa Catarina
> / / \ \ 7 / / \ \ Ciencias da Computacao
> \ ` / -o---\--- / Florianopolis - SC
> `--' L `--' ICQ # 14305933
> ______________________________________
> * Para nao receber mais e-mails da lista, acesse
><http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha
>a lista <[EMAIL PROTECTED]> e de um <submit>.
* Para nao receber mais e-mails da lista, acesse
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha a
lista <[EMAIL PROTECTED]> e de um <submit>.