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(); } }

Rispondi quotando

