MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment puis-je enregistrer AbstractMongoEventListener par programme?

Pour empêcher l'auto-instanciation, l'écouteur ne doit pas être annoté comme @Component . La configuration doit saisir le ApplicationContext, qui peut être câblé automatiquement.

Ainsi, ma classe de configuration ressemble à ceci :

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

Notez que cela fonctionne pour n'importe quel ApplicationListener , pas seulement AbstractMongoEventListener .