2010-09-20 4 views
1

J'ai une courte source de données d'ouverture de script et je la ferme ensuite. Ce script utilise BasicDataSource.La méthode close() de BasicDataSource ne ferme pas les connexions

BasicDataSource bds = new BasicDataSource(); 
bds.setDriverClassName("com.mysql.jdbc.Driver"); 
bds.setUrl("jdbc:mysql://10.1.1.186:3306/logs"); 
bds.setUsername("root"); 
bds.setPassword(""); 
Connection connection = bds.getConnection(); 
System.err.println(connection); 
bds.close(); 

Après la clôture() commande fonctionne, quand je regarde dans MySQL avec « show complet processlist » commande je peux voir que la connexion est toujours répertorié dans l'état de sommeil jusqu'à ce que l'application est complètement fermée.

Que manque-t-il ici?

Répondre

2

connexion de fermeture avant la fermeture datasource a fonctionné pour moi:

System.err.println(connection); 
connection.close(); 
bds.close(); 
Questions connexes