MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como faço para registrar o AbstractMongoEventListener programaticamente?


Para evitar a instanciação automática, o ouvinte não deve ser anotado como @Component . A configuração precisa obter o ApplicationContext, que pode ser conectado automaticamente.

Assim, minha classe de configuração fica assim:
@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);
}

Observe que isso funciona para qualquer ApplicationListener , não apenas AbstractMongoEventListener .