afterInsert,afterUpdate JMS

时间:2016-12-09 14:26:05

标签: grails gorm

我有一个正在运行的grails应用程序,我想在其中添加一些功能。 在将对象插入,更新或删除到数据库之后,我想做。

我想到的是触发JMS事件“person.inserted”,“person.updated”,并将相应的ID作为参数。当我抓住事件时,我想用Object做一些事情。

因此我想从数据库中检索它。我在从DB中检索对象时遇到问题。

  DomainObject.get(<id>)

它是空的。

我正在测试

 afterInsert 

事件。所以我假设数据已经存在于数据库中。有没有更好的方法呢?有什么实际的例子吗?

1 个答案:

答案 0 :(得分:0)

当JMS使用者收到该事件时,您的事务可能尚未提交。您可能希望在找不到对象时使用重试策略,等待几秒钟直到下一次尝试。

你提到了测试。您使用的是单元测试还是功能/集成测试?也许手动?在尝试加载对象之前,您可以在订阅者中添加休眠。