Grails 从后台线程调用GORM
我将从Grails2.4.3中的Springbean启动一个后台线程。在这个线程中,我调用:Grails 从后台线程调用GORM,grails,gorm,Grails,Gorm,我将从Grails2.4.3中的Springbean启动一个后台线程。在这个线程中,我调用:User.findAll() 我期望出现异常,因为不应该有与此创建的线程关联的Hibernate会话。但它是有效的 为什么它能工作 编辑: 实际上,如果我在BootStrap.groovy中创建一个新线程,它也可以工作: def init = { new Thread(new Runnable(){ public void run() { def users = User.fi
User.findAll()
我期望出现异常,因为不应该有与此创建的线程关联的Hibernate会话。但它是有效的
为什么它能工作
编辑:
实际上,如果我在BootStrap.groovy
中创建一个新线程,它也可以工作:
def init = {
new Thread(new Runnable(){
public void run() {
def users = User.findAll()
println users.size()
}
}).start()
}
在本例中,
User
是Spring安全域类,但它也可以与任何其他域类一起使用。如果不知道Bean是如何创建的,它是如何调用User.findAll()
,等等,就不可能回答这个问题。发布相关部分的配置和来源。我已经编辑了我的问题,添加了更多详细信息。