java – 独立应用程序的DataSource – 没有应用程序服务器
我想从独立的应用程序连接到MySQL数据库。 没有应用程序/ Web服务器。
此页面建议我应该使用DriverManager来创建连接。 但是, 此页面表明无法合并从DriverManager创建的连接。
但是连接池对我来说是必须的,因为应用程序使用各种线程同时写入数据库,因此关闭/重新创建连接不是最佳选择。
-
我应该为此目的使用哪种DataSource实现? 我查看了MysqlConnectionPoolDataSource,但我不确定它是否实际实现了连接池。 我还查看了Tomcat DataSource ,我确信它实现了一个连接池,但我不确定它是否可以在Tomcat之外使用。
-
当我关闭独立应用程序时,我该怎么做才能正确释放连接/池?
编辑:看起来Tomcat DataSource 可以从独立应用程序中使用,所以我将使用它。 它还有一个close方法,我假设它将释放连接。
- 我建议使用像DBPool这样的库。 由于开发人员已经处理过这些问题,因此您将面临很多麻烦。
- 要确保正确清除连接池,请阅读有关JVM关闭挂钩的文档 。
看一下Apache Cayenne ,在doc中阅读有关连接池的 DataSource和faq
编辑:
作为奖励,您可以获得建模器(数据库的图形工具)并轻松与Eclipse集成。
看看Apache DBCP和DBUtils
DBCP将为您提供连接池等function。
DBUtils将使jdbc更容易。
如前所述, DBPool也是其中之一,还有BoneCP和大量的池化工具。
看看一些样品:
- 使用Apache公共DBCP和DBUtils的连接池
- 使用Apache Commons DBUtils和DBCP 。
- 如何在wildfly 8.2.0服务器中配置ssl?
- 设置Java VM line.separator
- 使用JNI调用Java方法时,什么是“Method Signature”参数?
- Access-Control-Allow-Origin在ajax调用泽西restWeb服务中
- 自JDK 7以来,Java JDK 8 IndexedPropertyDescriptor已使用List对象进行了更改
- 对于AWS Kinesis的KCL Java库,如何使用requestShutdown和shutdown来执行正常关闭
- 我的Lucene搜索没有返回结果
- JsonMappingException没有单一的String构造函数/工厂方法Jackson
- 无法解析类型com.fasterxml.jackson.core.JsonGenerator。 它是从所需的.class文件间接引用的