2013-03-23 132 views
3

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

这个page建议我应该使用DriverManager创建连接。但是this页面建议从DriverManager创建的连接不能合并。

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

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

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

编辑:它看起来像Tomcat的数据源是从独立的应用程序usable,所以我要使用它。它也有一个我认为会释放连接的密切方法。

+3

查看C3P0或BoneCP的第三方连接池,而不管您使用的数据库如何。 – 2013-03-23 15:23:43

+0

感谢您的建议。我会在将来记住这些内容 – arahant 2013-03-23 17:06:14

+1

'ConnectionPoolDataSource'不是连接池,可以通过提供池的'普通'数据源来使用**。 – 2013-03-24 07:41:58

回答

1
  1. 我会建议使用类似DBPool这样的库。由于开发者已经照顾过他们,所以会让你感到头痛不已。
  2. 为确保正确清理连接池,请阅读documentation关于JVM关闭挂钩。
+0

感谢您的建议。我将为未来记住这些 – arahant 2013-03-23 17:05:30