Przykład niestandardowego detektora zdarzeń w dokumentacji Grails
Próbuję dodać niestandardową klasę nasłuchiwania zdarzeń GORMBootstrap.groovy
, jak opisano wDokumentacja Grails ale to nie działa dla mnie. Oto kod prosto z dokumentów:
def init = {
application.mainContext.eventTriggeringInterceptor.datastores.each { k, datastore ->
applicationContext.addApplicationListener new MyPersistenceListener(datastore)
}
}
Gdy go uruchomię, kompilator skarży się, że aplikacja i applicationContext są puste. Próbowałem dodać je jako członków poziomu klasy, ale nie zostały one magicznie połączone w stylu usług. Najbliższy jak dotąd jest:
def grailsApplication
def init = { servletContext ->
def applicationContext = servletContext.getAttribute(ApplicationAttributes.APPLICATION_CONTEXT)
grailsApplication.mainContext.eventTriggeringInterceptor.datastores.each { k, datastore ->
applicationContext.addApplicationListener new GormEventListener(datastore)
}
}
Ale wciąż mam błędy:java.lang.NullPointerException: Cannot get property 'datastores' on null object
.
Dziękuje za przeczytanie...
EDYCJA: wersja 2.2.1