自定义事件监听器中的 Grails ConcurrentModificationException

标签 grails grails-orm

我有一个 Grails (2.4.3) 应用程序,它使用 PersistenceListener 来监听 GORM 事件。

PersistenceListener 工作正常。在 PreUpdate 事件中,它调用一个服务(注入(inject)),该服务在相关对象上执行 findAll。在这里,我只是收集值来更新第 3 方系统。该服务根本不会更改任何对象值,包括 event.entityObject。

在运行 PreUpdate 并在 Controller 上调用 instance.save 后,它会收到 ConcurrentModificationException。

如果我删除/评论相关对象的 findAll,异常就会消失。

我怀疑这与休眠有关。相关问题都讨论了迭代器和使用它们的删除方法。在这里,我没有删除任何值,只是试图获取相关对象。

最佳答案

您是否在 JDK 8 上,甚至排序也被视为与 JDK 7 不同的修改操作?

这可能不是答案;但我不得不把它写成答案,因为我无权发表评论。如果它不相关,请删除它。

关于自定义事件监听器中的 Grails ConcurrentModificationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30486827/

相关文章:

hibernate - 查询 hasMany 关系的属性

grails - GORM 与 grails 脚手架一对一?

templates - 在grails模板中无法识别域类属性的原因是什么?

grails - Requestmap无法按预期运行

grails - Grails将默认主页更改为Spring Security Core登录屏幕

Grails 错误代码

testing - 字符串中 "\"转义字符的 Groovy/Grails 扩散

java - Grails/GORM 动态查找器通过其关系 ID 而不是关系对象本身来获取域

Grails GORM,多层领域类的急切获取模式