2010-11-25 102 views
2

我的服務有一些問題,充當一些來自外部庫的事件的偵聽器,該庫創建一個讀取通信端口的線程並將數據發回給我的偵聽器(grails服務)在某些情況下。 問題是,當讀取線程調用方法時,我無法更新數據庫,因爲grails會將hibernate會話綁定到線程。線程中的休眠會話

有任何機會獲得該線程的休眠會話? 有一個配置參數傳播或注入會話線程?

我已經看過後臺線程插件,但似乎只有在線程由grails創建時纔有用。

回答

1

我認爲你沒有得到一個會話,因爲你的服務沒有被作爲標準http請求的一部分被調用。

Grails中有一些方便的方法,如

withSession
withNewSession
withTransaction

可能適合該法案

+1

不withSession,但withNewSession http://www.grails.org/doc/ latest/ref/Domain%20Classes/withNewSession.html – Oleksandr 2010-11-25 15:20:14