Grails的1.3.7写操作都没有只读模式(FlushMode.MANUAL)允许:
我们有合并2个用户提供服务的方法。由于数据量很大,所以读取,更新和写入的内容相当多。我们在服务中有transactional = true。我知道Grails默认的FlushMode是AUTO。我明白那个错误信息的含义。
但是,它不会在本地发生,它不会发生在我们的临时环境中。所有这些都以相同的权限运行相同版本的MySQL(密码是例外)。
我知道我可以更改默认的FlushMode行为,但我很犹豫,因为我无法在生产环境中复制任何环境的行为。现在我只是想知道是否有什么可能导致这个事实上与FlushMode无关?
逐字的错误消息是:
org.springframework.dao.InvalidDataAccessApiUsageException:写 操作都没有只读模式(FlushMode.MANUAL)允许:打开 您的会话到FlushMode.COMMIT/AUTO或从交易定义中移除'readOnly'标记 。
你能显示一些代码和/或错误信息吗? –
由于敏感的客户端信息,我无法在没有大量清理的情况下显示代码。我会处理这个问题,但是我编辑了我的问题以包含错误消息,这与问题基本相同。 – Gregg
Gregg - 你有配置了使用的二级缓存:只读吗?出于某种原因,我想我已经看到过这样的地方,我试图修改一个域对象,我配置了一个只读缓存。 – proflux