Не уверен, что понимаю, почему я получаю ошибку компиляции в приведенном ниже коде.Я зацикливаю список объектов БД, и если его нет в моем основном списке, я создаю новый маршрут верблюда и передаю объект в качестве параметра другому классу.
@Component
public class MailRouteProcess implements Processor {
private static List<MailDataSource> mailDSList = new ArrayList<>();
@Autowired
MailDataSourceService mailDataSourceService;
@Autowired
private ApplicationContext applicationContext;
@Autowired
CamelContext camelContext;
@Override
public void process(Exchange exchange) throws Exception {
List<MailDataSource> mailDataSourceList = mailDataSourceService.findAll();
for(MailDataSource mailDataSource : mailDataSourceList) {
if(!mailDSList.contains(mailDataSource)) {
camelContext=(CamelContext)applicationContext.getBean("mainCamelContext");
camelContext.addRoutes(new MailRouteBuilder(camelContext, mailDataSource));
mailDSList.add(mailDataSource);
}
}
}
}
Затем в моем классе MailRouteBuilder Ihave:
@Component
public class MailRouteBuilder extends RouteBuilder {
public MailRouteBuilder(CamelContext camelContext, MailDataSource mailDataSource) {
super(camelContext);
}
Но при получении следующей ошибки компиляции в mailDataSource MailDataSource:
Не удалось выполнить автоматическое подключение.Бины типа «MailDataSource» не найдены.
Есть идеи?