有没有人设法在 Grails 中创建自定义范围?
我在 BootStrap.groovy(注入 grailsApplication)中做到了这一点:
grailsApplication.mainContext.getBeanFactory().registerScope('simpleThread', new SimpleThreadScope())
在我的 spring/resources.groovy 中,我有:
myContext(MyContext) { bean ->
bean.scope = 'simpleThread'
}
然后将其注入到我的所有域对象中。
这似乎有效......但是有关于使用 SimpleThreadScope 的对象没有被破坏的警告......我想知道这是否安全。
我这样做是因为我不能使用 Request 范围,因为我们触发了 Quartz 作业(使用 Grails 插件),并且请求被破坏了。
我们在常规 Web 请求和使用 Quartz 的异步请求中都使用这个上下文对象...