关于java编程:如何在程序中关闭连接mysql的线程

关于java编程:如何在程序中关闭连接mysql的线程,第1张

数据库为了及时响应请求,一定会保持一定数目的 线程,哪怕暂时不用。

你在 client 端 调用 close 释放了连接,那么你工作就已经完成了。

想确定会不会有问题,那么可以这么做

不停的重新运行你的这段代码,如果 mysql 的线程数 没有增多 就不是问题。

如果随运行次数 线性增加,再来考虑解决这个问题

就是这样的,线程的回收,mysql 有自己的机制。你写程序的时候,最好也这么做,资源的回收不是越快越好,因为初始化资源也是要消耗代价的。

Connection conn = null

try

{

Class.forName("com.mysql.jdbc.Driver")

conn = DriverManager.getConnection("jdbc:oracle:thin:@host:1521:SID","username","password")

conn.setAutoCommit(false) //取消自动提交

PreparedStatement ps = conn.prepareCall("update something")

ResultSet rs = ps.executeQuery()

conn.commit() //手动提交

}

catch (Exception e)

{

conn.rollback()

e.printStackTrace()

}

finally

{

conn.close()

}

当java应用停止后,mysql不会断开连接,而是维持连接状态,直到超时或者被服务器端断开。为了确保mysql不会断开连接,可以在java应用的配置文件中设置mysql连接的超时时间,让它比服务器端的超时时间要长,可以让mysql保持连接。另外,也可以在java应用中增加定期的心跳检测,不断发送保持连接的请求,以防止mysql断开连接。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8473913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存