Pessoal, tenho uma aplicação java para desktop que faz uma conexão ao banco de dados de 1 em 1 segundo e recolhe informações do mesmo. O problema é que do nada essa conexão congela. As vezes volta, as vezes precisa fechar e tentar conectar novamente. Coloquei o último conector java (5.1.24) para mysql mas ainda sim trava.
O Código da classe que acessa ao banco:
[code]
public ArrayList dados_cliente (String agente, String ip) {
try{
String str_conn = "jdbc:mysql://" + ip + ":3306/" + banco; //URL de conexão
Class.forName(driver);
Connection conn = DriverManager.getConnection(str_conn, usuario, senha);
java.sql.Statement stmt = conn.createStatement();
sql = "SELECT id_cliente_crm, destino, cliente, id_preditivo, envio_virtua FROM active_calls where status= 'Up' and campanha != 'Chamada_Discador_Ypy' and agente = '" + agente + "'";
ResultSet rs = stmt.executeQuery(sql);
String id=null, cliente=null, destino=null, id_preditivo=null, envio_virtua=null; //uniqueid=null;
if (rs.next()){
id = rs.getString("id_cliente_crm");
destino = rs.getString("destino");
if (destino.length() == 12){
destino = destino.substring(2);
}
cliente = rs.getString("cliente");
id_preditivo = rs.getString("id_preditivo");
envio_virtua = rs.getString("envio_virtua");
//uniqueid= rs.getString("uniquueid");
}
retorna = new ArrayList<String>();
retorna.add(id);
retorna.add(destino);
retorna.add(cliente);
retorna.add(id_preditivo);
retorna.add(envio_virtua);
//retorna.add(uniqueid);
conn.close();
stmt.close();
rs.close();
return retorna;
}
catch (ClassNotFoundException ex){
System.out.println("Não foi possível carregar o driver.");
ex.printStackTrace();
return null;
}
catch (SQLException ex){
System.out.println("Problema com o SQL");
JOptionPane.showMessageDialog(null, "Problema na consulta CLIENTE","", JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
return null;
}
} [/code]