java - 独立应用程序的DataSource - 没有应用程序服务器

时间:2013-03-23 15:20:47

标签: java mysql jdbc database-connection connection-pooling

我想从独立的应用程序连接到MySQL数据库。没有应用程序/ Web服务器。

page表明我应该使用DriverManager来创建连接。但是this页面表明无法合并从DriverManager创建的连接。

但是连接池对我来说是必须的,因为应用程序使用各种线程同时写入数据库,因此关闭/重新创建连接并不是最佳的。

  1. 我应该为此目的使用哪种DataSource实现? 我查看了MysqlConnectionPoolDataSource,但我不确定它是否实际实现了连接池。我还查看了Tomcat DataSource,我确信它实现了一个连接池,但我不确定它是否可以在Tomcat之外使用。

  2. 当我关闭独立应用程序时,我该怎么做才能正确释放连接/池?

  3. 编辑:从独立应用程序看起来Tomcat DataSource是usable,所以我将使用它。它还有一个接近的方法,我假设它将释放连接。

3 个答案:

答案 0 :(得分:1)

  1. 我建议使用像DBPool这样的库。由于开发人员已经处理过这些问题,因此您需要承担很多麻烦。
  2. 要确保正确清理连接池,请阅读documentation关于JVM关闭挂钩。

答案 1 :(得分:1)

看看Apache DBCP和DBUtils

DBCP 会为您提供连接池等功能。

DBUtils 会让您更轻松地使用jdbc。

如上所述DBPool也是一个,那里有BoneCP和大量的汇集工具。

看看一些样品:

答案 2 :(得分:1)

Apache CayenneDataSource

的文档中查看faq about connection pools {{3}}

编辑:

作为奖励,您可以获得建模器(数据库的图形工具)并轻松与Eclipse集成。