Primeiramente gostaria de agradecer a todos pela ajuda. Com o auxilio de
voces estou dando novos rumos no projeto.
Entretanto ainda estou tendo problemas com acesso concorrente a servlet.
Analisei atentamente todas as sugestoes que recebi e resolvi
experimentar a dica que o Handerson (entre outros) mandou. Consultei o
link
http://www.webdevelopersjournal.com/columns/connection_pool.html e li
atentamente o artigo. Este versa sobre como criar um connection pool
para gerenciar as conexoes. Baixei a classe disponivel lah que
implementa isso, mudei os meus fontes, tudo funcionou, mas mesmo com o
pool ainda tenho problemas de concorrencia. A consulta de um usuario
volta no browser do outro.
Fiz como sugeria o exemplo do artigo.
> � muito estranho.... esse tipo de comportamento do banco de dados pois....
> uma consulta simples n�o tem poder de "Lockar" uma tabela.... apenas
> instru��es SQL que executam a��es tem poder para isso...
> portanto se conclui q o problema n�o � no banco de dados.... uma vez q se
> trata de uma consulta simples, ou seja apenas um SELECT.... � isso
> mesmo....?
Eh um SELECT enorme feito em duas partes usando alem da sintaxe do SQL
algumas clausulas do DB2. O BD tambem eh grande.
WITH MEU_RESULTADO AS (SELECT... JOIN... JOIN... etc. WHERE...),
SELECT X Y Z ... JOIN... etc WHERE... ) FOR READ ONLY
Como disse, se ele for executado individualmente fica muito rapido.
> Vc tem certeza... q n�o est� abrindo uma transa��o sobre a tabela.... o q
> travaria o acesso a tabela ou tabelas envolvidas nas opera��es subsequentes
> at� o devido fechamento da transa��o....
Perdoe a ignorancia, mas o que eh uma transacao exatamente?
* 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>.