2016-07-27 69 views
0

在我的grails 3.1项目中使用JMS插件'org.grails.plugins:jms:2.0.0.M1'。我把一个消息上使用JMSService的队列:Grails 3:无法从JMS队列中保存实体

jmsService.send("msgPending", [eventType: it.msgEventType.toString(), msgEvent: messageXml]) 
{ 
    Message msg -> 
    msg.setJMSDeliveryMode(DeliveryMode.PERSISTENT) 
    msg.setJMSExpiration(queueTimeout) 
} 

此消息获取使用具有在其被放置在阙同一类的端点方法配置的骆驼路径消耗。

当收到邮件我尝试使用数据保存的实体,但我得到以下异常:

没有会话发现当前线程;嵌套异常是org.hibernate。

我试过用Entity.withTransaction包装保存方法,我也用@Transactional注解了类和方法,但仍然看到相同的问题。

有没有人有这个问题?

感谢

回答

0

通过强制对实体的保存即entity.save(冲洗:真)齐平,不再有错误,正确保存的实体。

当我检查是否有一个休眠会话连接到实体与刷新保存,我可以看到有。我不知道为什么我必须强制冲洗,但现在它的工作。