关闭Connection对象是否足以释放预备语句资源。[JDBC]

时间:2016-12-01 12:24:10

标签: java multithreading jdbc

我有一个管理器线程,它有各自的工作线程.JDBC连接由管理器线程的父项创建一次,并传递给每个工作线程以准备它们的PreparedStatement对象集。服务永远运行直到主线程中断且连接对象关闭的一天中的一个时间点,然后我打电话

System.exit(0);

因此,采用这种方法,无法跟踪如何以及何时关闭与工人相关的预备陈述。 将在主线程的Connection对象上调用close()释放db资源并正常关闭PreparedStatements。如果没有,我怎样才能使线程从他们的永久循环中突破,他们检查中断标志并最终执行它们然后以某种方式通知父节点并关闭Connection对象。

编辑:每个工作线程都有9个PreparedStatements,因此最多可以同时打开54个线程并处于危险境地。

EDIT2 - 重复标记的问题说明

 With a pool in place you can open/close connections and prepared statements according to best-practice and leave the resource management to the pool.

我无法关闭PreparedStatements并将其余部分留在游泳池中,因为我认为它只会堵塞我的游泳池。

0 个答案:

没有答案