- Загрузить данные из источника данных JPA.
- Преобразуйте элементы в другой тип.
- Возьмите пакеты по 20 элементов и передайте их по другому маршруту.
- В конце концов выполните одну последнюю операцию. элементов обрабатываются.
Код: Выделить всё
AggregationStrategy agg = AggregationStrategies.flexible(NewClass.class)
.accumulateInCollection(ArrayList.class)
.pick(body());
.to("jpa://")
.split(body())
.convertBodyTo(NewClass.class)
.aggregate(agg).constant(true)
.completionSize(20)
.completionTimeout(1000L)
.to("direct:doSomethingWithBatch")
.end()
// final step - need to do this only once
.bean(MyProcessor.class)
.end();
- Обработать пакет из 20 элементов -> doSomethingWithBatch
- Обработка следующих 20 -> doSomethingWithBatch
- вызывает процесс MyProcessor
- Обработка оставшихся 2 элементов по тайм-ауту
Подробнее здесь: https://stackoverflow.com/questions/793 ... list-is-va
Мобильная версия