我在服务中遇到一些问题,该服务充当一些来自外部库的事件的监听器,该库创建一个线程来读取comm端口并将数据发送回我的监听器(grails服务)案例。 问题是,当从读取线程调用方法时,我无法更新数据库因为grails将hibernate会话绑定到线程。
有没有机会获得该线程的hibernate会话? 有一个配置参数可以将会话传播或注入线程??
我已经看过后台线程插件,但似乎只有在线程由grails创建时才有用。
答案 0 :(得分:1)
我认为您没有收到会话,因为您的服务未作为标准http请求的一部分被调用。
Grails有一些方便的方法,比如
withSession
withNewSession
withTransaction
可能适合该法案