Walter,

Fa�o servlets usando DB2 e nunca precisei usar synchronized.
Voc� pode criar a conex�o no m�todo init() sem problemas. O
ideal � usar um connection pool. Se voc� estiver usando o
IBM WebSphere Application Server j� tem um embutido.

Mas para evitar bagun�ar os dados voc� deve criar os
objetos Statement e ResultSet localmente, ou seja,
declar�-los apenas na hora de usar nos m�todos
doGet() e doPost(). Se voc� cri�-los no init() d� o
comportamento que voc� falou, pois ter� v�rias pessoas
usando a mesma inst�ncia dos objetos Statement e ResultSet.
Se defini-los como locais aos m�todos, o pr�prio fato
do servlet ser multi-thread cuidar� de separar os resultados.

Abra�os,
_____________________________________________________________________

Vinicios Torres                         [EMAIL PROTECTED]
ICHTUS Webmaster                             http://www.Ichtus.com.br

  ICHTUS - Edificando o Povo de Deus na Palavra de Deus na Internet
_____________________________________________________________________

-----Mensagem original-----
De: Antonio Carlos A. da Silva <[EMAIL PROTECTED]>
Para: Walter do Valle <[EMAIL PROTECTED]>; [EMAIL PROTECTED]
<[EMAIL PROTECTED]>; [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Data: Quarta-feira, 22 de Mar�o de 2000 00:34
Assunto: Re: Servlets thread-safe e BD


Caro... Walter,

� 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....?

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....

[]'s

Antonio Carlos Antunes


-----Mensagem original-----
De: Walter do Valle <[EMAIL PROTECTED]>
Para: [EMAIL PROTECTED] <[EMAIL PROTECTED]>; [EMAIL PROTECTED]
<[EMAIL PROTECTED]>; [EMAIL PROTECTED] <[EMAIL PROTECTED]>
Data: Segunda-feira, 20 de Mar�o de 2000 17:09
Assunto: Servlets thread-safe e BD


>
>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>.

* 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>.

Responder a