Để ngăn hiện tượng tự động tạo, trình nghe không được chú thích là @Component
. Cấu hình cần có được ApplicationContext, có thể được tự động tải xuống.
Do đó, lớp cấu hình của tôi trông như thế này:
@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);
}
Lưu ý rằng điều này hoạt động đối với bất kỳ ApplicationListener
nào , không chỉ AbstractMongoEventListener
.