Exemplo de ouvinte de evento personalizado na documentação do Grails
Estou tentando adicionar uma classe de ouvinte de evento GORM personalizada emBootstrap.groovy
, conforme descrito noDocumentação do Grails mas não funciona para mim. Aqui está o código direto dos documentos:
def init = {
application.mainContext.eventTriggeringInterceptor.datastores.each { k, datastore ->
applicationContext.addApplicationListener new MyPersistenceListener(datastore)
}
}
Quando eu o executo, o compilador reclama que application e applicationContext são nulos. Eu tentei adicioná-los como membros de nível de classe, mas eles não ficam magicamente ligados ao estilo de serviço. O mais perto que cheguei até agora é:
def grailsApplication
def init = { servletContext ->
def applicationContext = servletContext.getAttribute(ApplicationAttributes.APPLICATION_CONTEXT)
grailsApplication.mainContext.eventTriggeringInterceptor.datastores.each { k, datastore ->
applicationContext.addApplicationListener new GormEventListener(datastore)
}
}
Mas ainda recebo erros:java.lang.NullPointerException: Cannot get property 'datastores' on null object
.
Obrigado pela leitura ...
EDIT: versão 2.2.1