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