记录了使用带有 getConnection 函数的数据源 https://jdbc.postgresql.org/documentation/94/ds-ds.html
当数据源禁用自动提交时,我们有
ds.isDefaultAutoCommit
res0: bool 值 = false
获取连接:
val conn = ds.getConnection
启用自动提交:
conn.getAutoCommit
res1: bool 值 = true
查看代码我们看到getConnection使用了父类函数而不改变commit模式 https://github.com/pgjdbc/pgjdbc/blob/master/pgjdbc/src/main/java/org/postgresql/ds/PGConnectionPoolDataSource.java
这只是实现异常/限制还是背后有其他原因?
最佳答案
它看起来像一个错误。类 PPGooledConnection
(池中连接的句柄)在其构造函数中采用 bool 参数 autoCommit
,但它不对其执行任何操作(如重置自动在分发逻辑连接之前提交状态)。
你应该在他们的 github 上创建一个问题。
关于postgresql - PGPoolingDataSource 不接受默认的自动提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36100029/