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

questionAnswers(3)

yourAnswerToTheQuestion