2016-07-27 4 views
0

Im, используя JMS-плагин 'org.grails.plugins: jms: 2.0.0.M1' в моем проекте grails 3.1. Я положил сообщение в очереди с помощью jmsService:Grails 3: Cant сохранить объект из очереди 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 флеша: истинный), больше не была ошибка и объект сохранен правильно.

Когда я проверяю, есть ли сеанс спящего режима, прикрепленный к объекту, с отключением сохранения, я вижу, что есть. Я не уверен, почему я должен заставить флеш, но теперь он работает.