Para evitar la instanciación automática, el oyente no debe anotarse como @Component
. La configuración debe obtener el ApplicationContext, que se puede conectar automáticamente.
Por lo tanto, mi clase de configuración se ve así:
@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);
}
Tenga en cuenta que esto funciona para cualquier ApplicationListener
, no solo AbstractMongoEventListener
.