2014-03-13 48 views
2

裏面我對Grails的2.3.5,我有一個任務塊內格姆保存數據。 保存域模型時,任務掛起。的Grails:保存域模型與格姆異步任務

這裏摘錄:

task { 
    def j = new Job() 
    j.name = "test" 
    j.save() 

    println "saved !" // never get here 
} 

如何域模型保存任務塊內的任何想法?

感謝 盧卡

+0

提供更多背景。瞭解你在說什麼有點困難。謝謝! – MeIr

+0

驗證錯誤可能是?嘗試'j.save(沖洗:真,failOnError:真)'我不會推薦那些生產,但它們可能會沖洗掉的問題有所幫助。 –

回答

2

嘗試下面的變化。值得注意的是,有些細微差別需要注意異步線程和Hibernate會話。有關更多信息,請參閱參考文檔中的this section

Job.async.task { 
    def j = new Job() 
    j.name = "test 
    j.save() 
    ... 
} 
+0

這不起作用,但你指出我在正確的方向。我發現'任務{Job.withNewSession {'做了詭計......謝謝 – Luca

2

我在這裏張貼的解決方案:

task { 
    Job.withNewSession { 
     def j = new Job() 
     j.name = "test" 
     j.save() 
     ... 
    } 
}