Код: Выделить всё
from("sftp://my-server/path?options...")
.split()
.tokenizeXML("", "")
.streaming()
.parallelProcessing()
.process(myRecordProcessor)
.end();
- timeout: 300 секунд (5 минут)
- whitdown now at timeout: true
- /> маршруты выключения в обратном порядке: < /strong> true
Это значения по умолчанию для по умолчанию chutdownstrategy в версиях верблюда Apache 3.x. < /li>
< /ul>
Проблема: < /strong>
Когда POD завершен (масштабируется по HPA), CAMEL. Если файл все еще обрабатывается:
Camel дает только 120 секунд для завершения всех обменов в полете. Потеря данных , поскольку остальные записи в файле никогда не обрабатываются. Idle Pods и те, которые все еще обрабатывают длинный файл. < /li>
Маршрут использует .streaming (). ParallelProcessing (), что затрудняет отслеживать индивидуальные записи или контрольно-пропускной пункт. Обмен - Избегайте потери данных во время выключения POD
- Поддержка длительного времени обработки для больших файлов
Подробнее здесь: https://stackoverflow.com/questions/796 ... ight-shutd