Есть ли способ интеграции с весной (либо с использованием int-file: входящий-канал-адаптер или любые другие средства), чтобы просто проверить каталог для файла (желательно совпадение с шаблоном) без опроса, а если файл существует, извлеките его и обработайте далее, и если это не так, просто закройте (я могу использовать маршрутизаторы для условных переадресаций). То, что я пытаюсь достичь, - это управлять потоком на основе простой одноразовой проверки файла вместо опроса каталога как файл-наблюдатель. ИЛИ мне нужно сделать это на Java, используя активатор службы?Весенняя интеграция - как проверить каталог файлов, без опроса?
EDIT:
Это то, что я получил до сих пор:
@Bean
public FileReadingMessageSource fileSource();
CompositeFileListFilter f=new CompositeFileListFilter();
f.addFilter(new SimplePatternFileListFilter("*.zip"));
FileReadingMessageSource fsource = new FileReadingMessageSource();
fsource.setDirectory(inputDir);
fsource.setFilter(f);
return fsource;
}
@Bean
public IntegrationFlow loadInput(){
return IntegrationFlows
.from(fileSource())
// .from(Files.inboundAdapter(inputDir)
// .patternFilter("*.zip"),
// e -> e.poller(Pollers
// .fixedDelay(20000)
// .maxMessagesPerPoll(1)))
.handle("inputLoaderService", "extractZip")
.handle("inputLoaderService", "readInputFile")
.enrichHeaders(s -> s.header("Content-Type", "application/json"))
.channel("requestChannel")
.get();
}
Не могли бы вы, пожалуйста, руководство меня, как я могу получить это правильно подключен? Та!
Это просто опрос источника как обычно. Вам нужно вызвать источник из вашего собственного кода. –