Na verdade não há nenhum problema de concorrência com esses métodos, contanto que as variáveis utilizadas sejam todas locais à função (incluindo a conexão com o banco) ou externas à função mas estáticas.
 
A concorrência entre as operações (insert/delete/update/select) será tratada automaticamente pelo banco (qquer banco decente trata isso).
 
 
[]´s,
 
Sandro.
 
 
-----Mensagem original-----
De: Sr. Apocalipse [mailto:[EMAIL PROTECTED]]
Enviada em: quarta-feira, 18 de setembro de 2002 08:47
Para: Roberto Hideki; [EMAIL PROTECTED]
Assunto: Re: [java-list] Duvida sobre metodo STATIC...

Fala Roberto,
Essa é exatamente a minha dúvida...
Não sei se isso gerará concorrencia... caso gere eu nao vou utilizar synchronized por este motivo que voce citou, vou instanciar a classe e utilizar o metodo normalmente.
Mas eu queria ter certeza que esse metodo STATIC vai me gerar concorrencia.
Se alguem mais da lista souber sobre o assunto eu agradeco a ajuda.
 
Grato,
       
            Fabio.
----- Original Message -----
Sent: Wednesday, September 18, 2002 8:27 AM
Subject: Re: [java-list] Duvida sobre metodo STATIC...

Fabio,
 
Acho que vai ter problema de concorrencia no uso desses métodos.
Para resolver isso, use a declaração synchronized no método, fazendo com que somente um usuario acesse o metodo num determinado momento, fazendo com um outro usuario aguarde na fila.
Se o acesso ao BD for muito grande isso pode gerar uma fila muito grande, aumentando o tempo de resposta para o usuário. Nesse caso acho mais rapido instanciar uma classe com esses metodos, e deixar o problema da concorrencia para o BD.
 
Roberto Tatemoto
 

Fala pessoal,
Eu tenho uma classe chamada UsuarioBancoDados que é utilizada dentro de um Servlet e que faz a insercao, atualizacao, delecao e busca do objeto usuario no banco de dados.
Eu pensei em colocar os metodos inserir, atualizar, deletar e buscar como metodos estaticos, visto que não é preciso instanciar essa classe para utilizar seus metodos.
Eu gostaria de saber se há algum problema quando vários usuários chamarem este método estatico ao mesmo tempo.
 
classe UsuarioBancoDados
{
    public static boolean inserir(Connection con, Usuario usuario)
    {
       // Faco a insercao desse usuario passado na funcao no banco.
    }
}
 
 
Grato,
 
        Fabio.
------------------------------ 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
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------


Responder a