Salve... ho scritto questo metodino che fa 3 diverse query sul db... mi rimangono appese le connessioni in TIME-WAIT... io faccio tutti i close possibili!! perche rimangono??
grazie
codice:
Date data=new Date(System.currentTimeMillis());
Connection conn=null;
Statement st=null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/monitoring_schema";
conn = DriverManager.getConnection(url,"root","root");
st = conn.createStatement();
int Risultato=st.executeUpdate("update stato_ambienti " +
"set risultato="+risultato+" , data='"+new java.util.Date() +"' ,tempo='"+Tempo+"' where ambiente ='"+Ambiente+"'And ip='"+Ip+"' And Tipologia_richiesta='"+Tipologia+"' ");
st.close();
conn.close();
conn = DriverManager.getConnection(url,"root","root");
if(Risultato==0)
{ st = conn.createStatement();
st.executeUpdate("INSERT INTO stato_ambienti " +
"VALUES ('"+Componente+"', '"+Ambiente+"','"+Ip+"',"+risultato+",'"+new java.util.Date()+"','"+Tipologia+"','"+Tempo+"')");
st.close();
conn.close();
conn = DriverManager.getConnection(url,"root","root");
}
if(!risultato)
{ st = conn.createStatement();
st.executeUpdate("INSERT INTO errori " +
"VALUES ('"+Ip+"', '"+Ambiente+"','"+Errore+"','"+new java.util.Date()+"','"+Componente+"','"+Tipologia+"')");
st.close();
conn.close();
conn = DriverManager.getConnection(url,"root","root");
}
/* } catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
*/ } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{ if(st!=null)
try {
st.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
if(conn!=null)
try {System.out.println("Chiusura Conn");
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}