Ol�, pessoal.

Estou construindo um servlet que possui v�rias PreparedStatements no
m�todo init, al�m da conex�o com o banco.

Possuo tamb�m m�todos auxiliares que setam os par�metros das
PreparedStatements e devolvem os valores correspondentes da query (por
exemplo, seto dois par�metros correspondentes a uma chave prim�ria
composta e devolvo um registro do banco).

Esses m�todos s�o chamados a partir do m�todo service do servlet.

Minha pergunta �: em fun��o do scheduling, corro o risco de perder a
consist�ncia dos par�metros em fun��o da concorr�ncia, isto �, quando
houver v�rios acessos simult�neos ao servlet, por exemplo no caso
anterior, setar um dos par�metros da chave, da� entrar o schedule de
outro request, que seta os dois par�metros e executa a query, da� quando
volto para o primeiro request, o primeiro par�metro ficar errado?

Se o problema realmente ocorre, como solu��o estou pensando em colocar
os m�todos auxiliares em quest�o como synchronized. Em termos de
performance, essa � a melhor maneira ou � prefer�vel criar as vari�veis
Statement ou PreparedStatement direto no m�todo service (da� existiria 1
statement por request e n�o haveria o problema da concorr�ncia)?

No caso da solu��o por sincroniza��o, � melhor escrever os m�todos com o
synchronized ou criar blocos synchronized com objetos? Neste caso, qual
objeto deve ser sincronizado? A pr�pria Statement?

Desculpem o texto meio longo, sei que a d�vida � dif�cil.
Espero conseguir ajuda e espero que a d�vida ajude outros.

Obrigado.
Dailton.

-- 
Dailton Santana de Almeida
mailto:[EMAIL PROTECTED]

    --------------------------- LISTA SOUJAVA ---------------------------
    http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP
    [d�vidas mais comuns: http://www.soujava.org.br/faq.htm]
    [para sair da lista: http://www.soujava.org.br/forum/cadastrados.htm]
    [regras da lista: http://www.soujava.org.br/regras.htm]
    ---------------------------------------------------------------------

Responder a