java - 独立应用程序的数据源 - 无应用程序服务器

标签 java mysql jdbc database-connection connection-pooling

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

page建议我应该使用 DriverManager 来创建连接。然而this页面提示无法合并从 DriverManager 创建的连接。

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

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

  2. 当我关闭独立应用程序时,我应该如何正确释放连接/池?

编辑:看起来 Tomcat 数据源是 usable来自独立应用程序,因此我将使用它。它还有一个 close 方法,我认为它会释放连接。

最佳答案

  1. 我建议使用像 DBPool 这样的库.这会让您省去很多麻烦,因为开发人员已经解决了这些问题。
  2. 为确保正确清理连接池,请阅读 documentation关于 JVM 关闭 Hook 。

关于java - 独立应用程序的数据源 - 无应用程序服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15588449/

相关文章:

Java Swing JDBC 与 MySQL 客户端-服务器 LAN 设置

java - fragment 对话框动画正确但布局完全黑色

java - 与 JUnit 一起运行时,Intellij IDEA 不会在 Kotlin 断点处停止

Java生成的图像不能在生成它们的代码中使用吗?

MySQL OUTFILE 查询提示 "file already exists"但该文件根本不存在

mysql - MYSQL获取一个用户在不同聊天中的所有对话

mysql - 在 MySql 中是否可以只用 SELECT 锁定表?

java - 如何查找以前运行的作业/任务未在 Spring Batch 中运行?我尝试了一些代码但不确定

java - 架构 'TEST' 不存在

java - 如何从tomcat的context.xml中传递加密相关属性以用于java中的jdbc连接?