我正在尝试添加自定义 GORM 事件侦听器类Bootstrap.groovy
,如Grails 文档中所述,但它不适用于我。这是直接来自文档的代码:
def init = {
application.mainContext.eventTriggeringInterceptor.datastores.each { k, datastore ->
applicationContext.addApplicationListener new MyPersistenceListener(datastore)
}
}
当我运行它时,编译器抱怨 application 和 applicationContext 为空。我尝试将它们添加为类级别成员,但它们并没有神奇地连接到服务风格。到目前为止,我最接近的是:
def grailsApplication
def init = { servletContext ->
def applicationContext = servletContext.getAttribute(ApplicationAttributes.APPLICATION_CONTEXT)
grailsApplication.mainContext.eventTriggeringInterceptor.datastores.each { k, datastore ->
applicationContext.addApplicationListener new GormEventListener(datastore)
}
}
但我仍然收到错误:java.lang.NullPointerException: Cannot get property 'datastores' on null object
.
谢谢阅读...
编辑:版本 2.2.1