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
.