【发布时间】:2014-06-17 18:13:13
【问题描述】:
我们的网络应用程序有一个 Tomcat 堆栈,并使用 javax.sql.DataSource 进行数据库连接。我们有一些方法可以完成很多用户不需要等待的数据库工作,我们希望将它们放入一个线程并在后台运行,让用户继续他们愉快的方式。
我想出的最简单的方法是将数据库访问 (DAO) 代码包装在匿名 Runnable 中并将其传递给线程。
高级开发人员担心但不确定如果Tomcat服务器在执行过程中停止,数据库连接是否会被释放,或者它是否会在事务中闲置直到时间结束。
这是一个可能的问题吗?如果是这样,我们将如何解决它,以便如果线程被中断/杀死,数据库连接会被正确释放?
PS - 我很确定我遗漏了一些东西,请在 cmets 中进行澄清。
【问题讨论】:
-
那为什么高级开发人员不测试呢?或者你测试过吗?
标签: java multithreading tomcat jdbc database-connection