Obrigado, Bruno!
Mas, como eu mesmo disse na pergunta, se eu declarar as
PreparedStatements no m�todo service, eu vou eliminar a concorr�ncia de
objetos e resolver meu problema.
Mas minha principal inten��o era quanto � performance. Eu gostaria de
saber se � melhor fazer assim, ou se � melhor cri�-las no init do
servlet, como eu estava pensando, e utilizar o synchronized.
Minha implementa��o atual utiliza a declara��o no init, mas n�o usa nada
de sincroniza��o. Estou preocupado quanto a muitos acessos concorrentes
(ex. loja virtual).
A prop�sito, estou usando Oracle 8.0.5 sobre Red Hat Linux. N�o sei se �
relevante, mas esqueci de dizer no email anterior.
Obrigado.
Dailton.
Bruno Reded wrote:
>
> Ol� Dailton,
>
> Crie um PreparedStatement no Service(). Resolve.
>
> []s
>
> Bruno
>
> ----- Original Message -----
> From: "Dailton Santana de Almeida" <[EMAIL PROTECTED]>
> To: "SouJava" <[EMAIL PROTECTED]>
> Sent: Wednesday, May 17, 2000 10:42 AM
> Subject: [SouJava-J] Servlets e sincroniza��o
>
> > 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.
> >
--
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]
---------------------------------------------------------------------