有人知道 GORM 的自定义监听器是如何工作的吗?我怎样才能实例化一个?我正在使用 Grails 2.0.1,文档在这个主题上完全没用。我无法注册我的侦听器,因为我需要数据存储来创建它,我不知道如何检索它。
解决了!如果有人遇到同样的问题,我会写解决方案。为了添加监听器,我以这种方式扩展了类org.grails.datastore.mapping.engine.event.PersistenceEventListener
class MyCustomListener implements PersistenceEventListener{
@Override
public boolean supportsEventType(Class<? extends ApplicationEvent> event) {
return ValidationEvent.class.isAssignableFrom(event)
}
@Override
public boolean supportsSourceType(Class<?> clazz) {
return true
}
@Override
public void onApplicationEvent(ApplicationEvent event) {
log.debug 'My custom listener!'
}
@Override
public int getOrder() {
return DEFAULT_ORDER;
}
}