【发布时间】:2016-07-07 12:50:54
【问题描述】:
我已经解决了这些问题 - choose a db connection pool、Is DB connection pooling all that important 和 java - DataSource for standalone application - no application server
这些并没有回答我的好奇心。
我拥有的是一个独立的多线程 Java 应用程序,它应该在关闭或低负载窗口中向 DB 执行数据加载,但必须足够快才能在有限的时间内完成。
Java 线程的数量是可配置的,但有最大数量的限制。
就数据库连接而言,我目前正在为每个线程获取一个新连接,并在该线程完成后将其关闭。我不使用第三方数据库连接池的原因是,
1.Java线程的最大数量被限制在固定的限制,这个限制是由DB(它的DB2数据库)管理的
2.避免不必要的等待来自数据库池的连接,并避免多个线程之间的冲突或等待时间(以防池中没有连接 是免费的)
所以在我的场景中,是否真的需要数据库连接池,或者从长远来看我会面临任何挑战,或者这只是一个很好的功能?
连接池对于 Web 应用程序很有意义,因为您事先不知道请求/线程的数量,但我不确定对于具有固定最大线程数的独立应用程序是否有任何优势。
如果需要,我正在考虑使用 C3P0 连接池。
【问题讨论】:
标签: java jdbc database-connection