Aws S3 Camel Route в Spring Boot запускается только при запуске приложения
У меня есть загрузочное приложение Spring, которое уже успешно использует Camel FTP. Теперь я пытаюсь реализовать использование Camel S3 для той же цели, что и для FTP: опросить каталог s3 в поисках нового файла, обработать его, затем переместить в другую папку (другую папку в случае успеха / неудачи)).
Я настроил свой маршрут следующим образом:
@Configuration
public class MyS3Route extends RouteBuilder {
@Autowired private AwsProperties awsProperties;
@Override
public void configure() throws Exception {
fromF("aws-s3://%s?accessKey=%s&secretKey=RAW(%s)&deleteAfterRead=false&prefix=process/&delay=10000",
awsProperties.getBucket(),
awsProperties.getAccessKey(),
awsProperties.getSecret(),
).routeId(this.getClass().getName())
.bean(MyS3Processor.class, "process");
}
}
Эта установка правильно использует каждый файл в целевом каталоге s3 при запуске приложения, как и ожидалось. Однако, если новый файл появится в каталоге s3, я ожидаю, что он снова запустит MyS3Processor.process, в пределах конфигурации диапазона задержки.
Я проверил CamelContext, и есть некоторые конфигурации, подобные моей конечной точке FTP, такие как useFixedDelay и задержка.
Что мне не хватает?