gpt4 book ai didi

java - 同时连接到 HSQLDB - 调用永远不会返回

转载 作者:行者123 更新时间:2023-12-01 14:11:26 25 4
gpt4 key购买 nike

我正在使用带有单个数据库和 4 个表的 HSQLDB。我正在使用 commons apache 池数据源。

场景如下:

表 1-3 在一个事务中更新,因此在同一连接上(不同的 sql 语句)。他们使用自动提交 false 并调用executeUpdate() 和executeBatch()。在此事务结束时,有时(不是每次)都会调用“检查点”。

表 4 与其他表同时更新,但使用另一个连接。批量更新,然后始终调用“检查点”。在此检查点中,一切都挂起,调用永远不会返回,并且无法访问该数据库中的任何表。在日志文件中,我看到第四个表的“检查点”永远不会到达。

当存在使用 auto commit = false 的打开连接时,我是否无法执行检查点?

可能会陷入僵局吗?

我不知道问题出在哪里...如果没有这个表#4,一切都可以正常工作。

最佳答案

当有其他打开的连接时,您可以执行 CHECKPOINT。执行 CHECKPOINT 的连接会等待所有其他连接提交,然后再锁定数据库并执行检查点。

因此,您必须在执行检查点之前完成所有操作并提交。

关于java - 同时连接到 HSQLDB - 调用永远不会返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18503080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com