Apache Ignite JDBC 驱动程序 - JDBC 连接池选项

Apache Ignite JDBC driver - JDBC Connection Pool options

我目前正在尝试使用 C3P0 设置 Apache Ignite 作为我的 JDBC 连接池,但我注意到由于 Ignite 驱动程序不支持事务,因此 C3P0 不可用。

有没有人幸运地获得了与 Ignite 驱动程序一起使用的 JDBC 连接池?建议?


编辑:

更新 C3P0 不能与 Ignite 的 JDBC 驱动程序一起工作的确切原因

所以看看this line of code 为了创建新的池化连接,C3P0 尝试通过 connection/driver.

设置事务隔离

这最终导致我们在 Ignite 驱动程序中找到 this line of code,这基本上告诉我们 Ignite 驱动程序不支持 SQL 事务。
Ignite 本身确实支持指定的事务 here,但似乎 JDBC 实现不支持。

所以如果我想设置一个 JDBC 连接池,我需要一个 C3P0 的替代品;有什么建议吗?

事实证明,Apache Ignite 的 JDBC 驱动程序目前 JDBC 不兼容。具体来说,破坏它的部分是它没有事务支持。因此,典型的 JDBC-pool 实现将无法与 Ignite Driver

一起使用

这里现在有一张票:https://issues.apache.org/jira/browse/IGNITE-4191

BasicDataSource ds = new BasicDataSource();

ds.setDriverClassName("org.apache.ignite.IgniteJdbcDriver");
ds.setUrl("jdbc:ignite:cfg://cache=default@file:///the/path/to/ignite-config.xml");

ds.setInitialSize(2);
ds.setMinIdle(2);

尝试BasicDataSourcehttp://commons.apache.org/proper/commons-dbcp/configuration.html