В моем приложении загрузки Spring у меня есть конфигурация, которая считывает записи из базы данных Mongo.Как регистрировать AbstractMongoEventListener программно?
После этого будет создан мой подкласс AbstractMongoEventListener
, хотя он работает с другой таблицей и разным объемом (мой собственный @CustomerScope
).
Вот слушатель:
@CustomerScoped
@Component
public class ProjectsRepositoryListener extends AbstractMongoEventListener<Project> {
@Override
public void onAfterSave(Project source, DBObject dbo) {
System.out.println("saved");
}
}
А вот конфигурации:
@Configuration
public class MyConfig {
@Autowired
private CustomersRepository customers;
@PostConstruct
public void initializeCustomers() {
for (Customer customer : customers.findAll()) {
System.out.println(customer.getName());
}
}
}
Я нахожу это удивительным, что слушатель инстанциируется вообще. Тем более, что он был создан после завершения вызова в хранилище клиентов.
Есть ли способ предотвратить это? Я думал о программной регистрации его в таблице/области, без магии аннотаций.