gpt4 book ai didi

grails - 在只读模式(FlushMode.MANUAL)中不允许进行写操作:

转载 作者:行者123 更新时间:2023-12-02 14:13:27 25 4
gpt4 key购买 nike

Grails 1.3.7

我们有一个合并2个用户的服务方法。由于数据量大,因此有很多内容,因此需要进行大量的读取,更新和写入。服务中有transactional = true。我了解Grails的默认FlushMode为AUTO。而且我了解该错误消息的含义。

但是,它不会在本地发生,也不会在我们的暂存环境中发生。所有这些都以相同的特权运行相同版本的MySQL(密码是异常(exception))。

我知道我可以更改默认的FlushMode行为,但由于无法在生产环境以外的任何环境下复制行为,因此我很犹豫。现在,我只是想知道是否有任何可能导致与FlushMode无关的事情?

逐字错误消息是:

org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.

最佳答案

我在Grails 1.3.7应用程序中也看到了与这些错误类似的错误。就我而言,我的后端数据库存在一些锁争用问题,这些问题导致应用程序引发CannotAcquireLockException。击中其中之一后,我们会看到许多您看到的完全相同的InvalidDataAccessApiUsageExceptions(巧合的是,也只发生在我们的产品环境中,而不是开发人员或测试人员)

您可能需要检查以确保您的prod数据库用户可以访问MySQL中的锁定功能,并检查其他与数据库相关的异常,这可能是实际的根本原因。

关于grails - 在只读模式(FlushMode.MANUAL)中不允许进行写操作:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7668006/

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