MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie registriere ich AbstractMongoEventListener programmgesteuert?

Um eine automatische Instanziierung zu verhindern, darf der Listener nicht als @Component kommentiert werden . Die Konfiguration muss den ApplicationContext abrufen, der automatisch verbunden werden kann.

Somit sieht meine Konfigurationsklasse so aus:

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

Beachten Sie, dass dies für jeden ApplicationListener funktioniert , nicht nur AbstractMongoEventListener .