Как распараллелить цикл в Apache Camel?

Помогите распараллелить цикл в Apaсhe Camel, чтобы запросы к API выполнялись параллельно.

from("direct:someRoute")
            .setBody(simple("content"))
            .routeId("someRouteId")
            .setHeader(Exchange.HTTP_METHOD, constant("GET"))
            .setHeader(Exchange.CONTENT_TYPE, constant("application/json"))
            .threads(8)
            .loopDoWhile(bodyAs(String.class).isGreaterThan(1))
                .process(exchange -> {
                    page = page + 1;
                    exchange.getIn().setHeader(Exchange.HTTP_QUERY, "lang=ru&page_size=25&page=" + page);
                })
                .to("https://example.com/api/v1.0/events")
                .choice()
                    .when(body().isNotNull())
                        .unmarshal(format)
                        .process(new EventProcessor(eventRepository))
                        .marshal(format)
                    .otherwise()
                        .log("${body}")
                .endChoice()
                .end()
            .end();

Ответы (1 шт):

Автор решения: bvn13

Попробуйте вместо тела цикла использовать отправку в direct очередь. А из неё другим маршрутом можно потреблять несколькими consumer-ами параллельно.

→ Ссылка