0

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;
}

}

4

0 に答える 0