Title: RE: RES: RES: JAVA libera agentes do BD?

Ol� Rafael,

Acho que vc est� precisando gerar um pool de conex�es ao banco de dados. Um pool funciona assim: voc� configura qual � o m�ximo de conex�es ao bd (ex: nro. de licen�as compradas para o bd), e o seu programa faz queries chamando este pool. O pool gerencia as conex�es abertas automaticamente. No seu caso, voc� configuraria um pool com apenas uma conex�o, ent�o todos os servlets fariam requisi��es ao bd atrav�s de uma fila, gerenciada pelo pool.

Isto � o tipo de funcionalidade b�sica de um application server (Netscape Aplication Server, Netdynamics, etc...), mas existem alguns pools free na Internet (nunca usei nenhum deles...):

Protomatter (� um pacote com diversas classes interessantes, e uma delas � o Connection Pool):
http://www.protomatter.com/

Bitmechanic:
http://www.bitmechanic.com/projects/jdbcpool/

DbConnectionBroker:
http://www.javaexchange.com/

Talvez o Servlet Engine q vc utiliza j� tenha um connection pool. O JRun tem, mas n�o sei os outros.

Aqui est�o alguns artigos:
http://www.javaworld.com/javaworld/jw-06-1998/jw-06-object-pool.html
http://www.javaworld.com/javaworld/jw-08-1998/jw-08-object-pool.html
http://webdevelopersjournal.com/columns/connection_pool.html


Espero ter ajudado!

Felipe.

    -----Original Message-----
    From:   Rafael Zancan Frantz [SMTP:[EMAIL PROTECTED]]
    Sent:   05/01/00 2:35 PM
    To:     [EMAIL PROTECTED]; [EMAIL PROTECTED]
    Subject:        Re: RES: RES: JAVA libera agentes do BD?

    Ermel,


    bem, cada pessoa que, atraves de uma pagina web, chama o meu servlet, abre uma
    conexao com o banco de dados. A Conexao que eu estou abrindo esta no metodo
    init, e o seu fechamento esta no metodo destroy. Com isso eu estou abrindo uma
    so para todas as requisicoes do servlet?! Favor confirmar isso se souber. Voce
    teria outra ideia de como eu poderia abrir somente uma conexao com o banco para
    todas as requisicoes?

    Obrigado mais uma vez!
    Rafael.


    Luis Otavio Ermel wrote:

    > Oi Rafael,
    >
    > Nao sei bem direito como o DB2 trata estas coneccoes, mas o oracle (com o
    > qual trabalho) precisa apenas de uma conecao por aplicacao.
    >
    > Esta mesma conecao e utilizada para fazer quaisquer chamadas ao banco, ela
    > e inicializada no inicio da aplicacao e finalizada no destroy fina. que nao
    > precisa ser sempre.
    >
    > Voce precisa abrir uma coneccao para cada requisicao ? Se for assim nao
    > seria possivel abrir uma so e a utilizar em toda a aplicacao ?
    >
    > Ermel
    >
    > ----- Mensagem original -----
    > De:             Rafael Frantz [SMTP:[EMAIL PROTECTED]]
    > Enviada em:             Quarta-feira, 5 de Janeiro de 2000 08:54
    > Para:           [EMAIL PROTECTED]
    > Cc:             'Rafael Frantz'
    > Assunto:                Re: RES: JAVA libera agentes do BD?
    >
    > Ermel,
    >
    >     o problema e o seguinte: fiz um servlet que realiza algumas consultas
    > ao banco de dados. Este servlet fica em um
    > servidor Java Web Server e deve acessar um banco de dados DB2 no mainframe
    > 2003 da IBM. Os agentes sao conexoes que o banco
    > libera para cada usuario que esta la conectado fazendo consultas. O que
    > esta acontecendo e que no meio de uma consulta com
    > o servlet o usuario a interrompe (redirecionando o browser para outro
    > endereco) e entao aquele agente que estava sendo
    > utilizado para aquela conexao com o banco nao e liberado. Eu gostaria de
    > saber se ha alguma forma de fazer esta liberao no
    > metodo destroy ou qualquer coisa parecida do servlet antes de ele ser
    > desativado.
    >
    > Obrigado pela ajuda ate agora!
    > Rafael.
    >
    > Luis Otavio Ermel wrote:
    >
    > > Rafael
    > >
    > > O que sao estes agentes que voce diz ? Sao Stored Procedures ?
    > >
    > > O que voce quer fazer e o que esta fazendo ? Mande o codigo e aponte
    > aonde esta o erro para ver se conseguimos ajudar !
    > >
    > > Ermel
    > >
    > > ----- Mensagem original -----
    > > De:             Rafael Frantz [SMTP:[EMAIL PROTECTED]]
    > > Enviada em:             Quarta-feira, 5 de Janeiro de 2000 08:17
    > > Para:           [EMAIL PROTECTED]
    > > Assunto:                JAVA libera agentes do BD?
    > >
    > > Pessoal,
    > >
    > >     estou com um grave problema aqui. Faco conexao com um banco de dados
    > > DB2 da IBM para consulta de dados de algumas tabelas, porem quando a
    > > conexao e terminada ainda no meio do processo sem que ele esteja
    > > concluido os agentes do banco de dados nao estao sendo liberados. Com
    > > isso eu estou trancando o banco. Ha alguma maneira de se liberar os
    > > agentes, ou alguma outra coisa para se fazer para evitar este tipo de
    > > problema?
    > > Estou usando o driver proprio do DB2.
    > >
    > > Obrigado a todos!
    > > Rafael.

    --
    -----------------------------
    Rafael Zancan Frantz
    [EMAIL PROTECTED]
    risc.unijui.tche.br/~rfge
    Tel.: +55 - 55 332 9093
          +55 - 55 962 0301
    -----------------------------



    * 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