MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come faccio a registrare AbstractMongoEventListener a livello di codice?

Per impedire la creazione di istanze automatiche, il listener non deve essere annotato come @Component . La configurazione deve ottenere l'ApplicationContext, che può essere cablato automaticamente.

Pertanto, la mia classe di configurazione è simile a questa:

@Autowired
private AbstractApplicationContext context;

private void registerListeners() {
    ProjectsRepositoryListener firstListener = beanFactory.createBean(ProjectsRepositoryListener.class);
    context.addApplicationListener(firstListener);

    MySecondListener secondListener = beanFactory.createBean(MySecondListener.class);
    context.addApplicationListener(secondListener);
}

Nota che funziona con qualsiasi ApplicationListener , non solo AbstractMongoEventListener .