我有一个带有PostConstruct注释的init方法的服务,以确保它在依赖注入完成之前不会运行。
@PostConstruct
private void init() {
// Create some datasources on the fly
MyDomain.list().each {
createDataSource(it)
}
}
我现在需要将此服务注入taglib,但应用程序将无法启动并出现以下错误。
java.lang.IllegalStateException:类[com.me.MyDomain]上的方法是 在Grails应用程序之外使用
堆栈跟踪专门指向上面的用法,当然,当我删除时它会很好地启动。 有谁知道一个可靠的'这个方法呢?
答案 0 :(得分:0)
尝试:
@PostConstruct
void init() {
Domain.withNewSession {
println Domain.count
}
}
或
@PostConstruct
void init() {
Domain.withTransaction {
println Domain.count
}
}