För att förhindra automatisk instansiering får lyssnaren inte annoteras som @Component
. Konfigurationen måste få tag på ApplicationContext, som kan kopplas automatiskt.
Min konfigurationsklass ser alltså ut så här:
@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);
}
Observera att detta fungerar för alla ApplicationListener
, inte bara AbstractMongoEventListener
.