1

从 grails 2.3.11 升级到版本 3.2.9 后我遇到了问题。我们已经改变了需要的东西,几乎一切都很好。但我们仍然只有一个问题。

应用程序中的某些操作具有这种模式:

  1. 在 UI 中单击时,会出现 ajax 请求,该请求将数据更新/插入到 DB 中。

  2. 成功后有另一个 ajax 回调来检索更新/新数据。

有时(很少),第二个 ajax 获取旧数据(当然在另一个请求之后,数据会更新)。数据库没有足够的时间保存数据?;)

在 grails 2 中,这从未发生过。我们用的是postgres 8.4,但是更新到9.6后,问题依旧。更改 jdbc 驱动程序也无济于事。

为了重现这一点,我创建了一个简单的应用程序。我向数据库添加了一些记录并创建了 2 个操作。一个动作添加一个域并返回一个新的 id,第二个动作在插入后获取数据(只有一个断言检查是否在数据库中创建了具有正确 id 的域)。当我在本地、快速的机器上安装 postgres DB 时,问题非常非常少地发生,但在本地网络上,慢速机器会导致问题更频繁地出现。默认 H2 数据库没有出现此问题。

https://github.com/kuchar90/grails3.2Test

这是正常行为吗?你知道在哪里寻找这个问题的原因吗?

4

0 回答 0