Boa tarde galera...
fiz um programa que um usuário passou 1 mês testando, somente ele, fazendo operações como updates e inserts, e o resultado foi o esperado, 100%.
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, ou ambos não conclui 100% dos updates solicitado.
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.
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;
}
}
Na classe connectionFactory, teria alguma que mudar algo tb?
O que poderia fazer para controlar a concorrência do update? Já que se 2 ou mais fizerem ao mesmo tempo poderá causar problema.
Obs, seria possível corrigir esse problema sem utilizar hibernate?
Muito obrigado