Prezado Luis Fernando,

O servlet engine, que � o programa java que realiza a tarefa
de carregar o servlet e faz�-lo rodar, j� faz a cria��o do
thread.

O que ele faz � o seguinte:

Na primeira solicita��o do servlet:
- Carrega a classe e instancia o servlet na mem�ria
- executa o m�todo init()
- abre um thread para tratar a solicita��o espec�fica
  (aqui � que vai atender os m�todos doGet(), doPost() etc).

Nas pr�ximas solicita��es:
- Apenas abre um thread para atender a solicita��o

Se houver v�rias solicita��es simultaneamente,
haver� um thread para cada solicita��o.

Perceba que o m�todo init() s� executado uma vez,
na inicializa��o. Depois disso, o servlet ficar� na
mem�ria at� ser chamado o m�todo destroy() ou baixar
a m�quina virtual.

Alguns servlet engine (JServ e Resin por exemplo)
realizam a recarga autom�tica do servlet ao verificar
que o arquivo .class correspondente foi modificado.
Ou seja, chama o m�todo destroy(), libera o objeto
atual (que ser� limpo pelo garbage collector) e
recarrega o novo arquivo .class, reiniciando o ciclo.

Este, pelo menos, � comportamento dos produtos que eu
uso ou j� usei (JServ, Tomcat, Resin, IBM Websphere).

_____________________________________________________________________

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: Luis Fernando <[EMAIL PROTECTED]>
Para: [EMAIL PROTECTED] <[EMAIL PROTECTED]>; [EMAIL PROTECTED]
<[EMAIL PROTECTED]>
Data: Quarta-feira, 22 de Mar�o de 2000 08:50
Assunto: Re: Servlets thread-safe e BD


>
>
>>
>>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,
>
>Olah Vinicius, tudo bem?
>Gostei dessa dica que voce deu, soh fiquei com uma pequena duvida quando
>voce disse que servlets sao multi-thread e cuidarao de separar os
>resultados. Nos sabemos que eles realmente sao multi-thread, mas nao seria
>necessario ter que criar uma classe thread no programa para fazer com que
>linhas de execucao fossem disparadas para cada request
>recebido,possibilitando a atender a mais de um simultaneamente? Ou existe
>forma mais simples de se conseguir isso?
>Irei trabalhar em um projeto com DB2 em breve e nunca tive experiencia
>com ele antes. Se voce pudesse me mandar alguns exemplos de codigos ficaria
>imensamente grato.
>
>Um abraco e obrigado,
>
>Luis Fernando.
>
>
>
>
>______________________________________________________
>Get Your Private, Free Email at http://www.hotmail.com
>

* 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