BasicDataSource close()方法不关闭连接

时间:2010-09-20 12:05:46

标签: java database connection-pooling

我有一个简短的脚本打开数据源然后关闭它。此脚本使用BasicDataSource。

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

在close()命令工作之后,当我使用“show full processlist”命令查看mysql时,我可以看到连接仍处于睡眠状态,直到应用程序完全关闭。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

在关闭数据源之前关闭连接为我工作:

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