Pedrok 0 Denunciar post Postado Janeiro 10, 2012 Boa noite a todos, Estou com um problema, tenho uma aplicação rodando para uns 6 usuários. Quando essss usuários estão acessando o banco ao mesmo tempo, percebo que esta havendo falha nas consultas/updates. Gostaria de saber como poderia gerênciar isso. Teria que abrir transações? Sou um pouco novato com Java web. Gostaria Que alguém pudesse me orientar. Abaixo segue um pedaço do DAO, na qual se refere a um método que faz um update. O que poderia fazer para controlar a concorrência do update? Já que se 2 ou mais fizerem ao mesmo tempo poderá causar problema. Mesmo caso ocorre no SELECT. public boolean upIdDetalheUFRs(String IdDocContabil, String fontel, int tipoUpdate, int idUsuario, String nomeUsuario) { Connection conn = null; PreparedStatement ps = null; boolean isOk = false; conn = ConnectionFactory.getConnection(); if (conn == null) { return isOk; } sql = UFRQuerry.upIdDetalheUFRs(IdDocContabil, fontel, tipoUpdate, idUsuario, nomeUsuario); try { ps = conn.prepareStatement(sql); ps.executeUpdate(); isOk = true; } catch (SQLException ex) { Logger.getLogger(SaldoCCorrenteFonteDAO.class.getName()).log(Level.SEVERE, null, ex); } finally { ConnectionFactory.closeConnection(conn, ps); } return isOk; } } Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Janeiro 10, 2012 Você pode usar um framework ORM pra tratar desse tipo de coisa pra você. https://www.google.com/search?client=ubuntu&channel=fs&q=hibernate+controle+transacao&ie=utf-8&oe=utf-8 Você também pode deixar que o contêiner gerencie suas transações. Compartilhar este post Link para o post Compartilhar em outros sites
Pedrok 0 Denunciar post Postado Janeiro 11, 2012 Tipo, fiz um programa que um usuário passou 1 mês testando, somente ele, e ficou Somente, selects e updates. No entanto, qndo passamos para mais usuários, começou haver problema de concorrência na transação. Por exemplo, qndo 2 usuário vão fazer update ao mesmo tempo, 1 deles conclui e o outro da erro. Analisei, e possivelmente é uma transação bloqueada. Você pode usar um framework ORM pra tratar desse tipo de coisa pra você. https://www.google.com/search?client=ubuntu&channel=fs&q=hibernate+controle+transacao&ie=utf-8&oe=utf-8 Você também pode deixar que o contêiner gerencie suas transações. Vergil, Não gostaria de usar hibernate... Teria alguma outra solução ?;; Compartilhar este post Link para o post Compartilhar em outros sites
Vergil 15 Denunciar post Postado Janeiro 11, 2012 Toplink da Oracle. Compartilhar este post Link para o post Compartilhar em outros sites
Leonardo C. Wolter 0 Denunciar post Postado Janeiro 18, 2012 Tipo, fiz um programa que um usuário passou 1 mês testando, somente ele, e ficou Somente, selects e updates. No entanto, qndo passamos para mais usuários, começou haver problema de concorrência na transação. Por exemplo, qndo 2 usuário vão fazer update ao mesmo tempo, 1 deles conclui e o outro da erro. Analisei, e possivelmente é uma transação bloqueada. Vergil, Não gostaria de usar hibernate... Teria alguma outra solução ?;; Não intendi, pq não quer usar o hibernate? Garanto que ele te ajudaria MUUUUITO, e é extremamente facil abrir uma transação com ele =P Compartilhar este post Link para o post Compartilhar em outros sites