Я копаюсь на верблюде, чтобы обрабатывать много записей параллельно. У меня есть что-то вроде этого:
from(CAMEL_START_ROUTE_CTE)
.multicast().parallelProcessing()
.to(CAMEL_PROCESS_DOMAINS_ROUTE)
.to(CAMEL_PROCESS_OTHERS_ROUTE)
.end()
.onCompletion()
.to(EndCamelRouteBuilder.CAMEL_ROUTE);
Где CAMEL_START_ROUTE_CTE равен
timer:foo?delay=100&repeatCount=1
А затем CAMEL_PROCESS_DOMAINS_ROUTE выглядит так:
from(CAMEL_PROCESS_DOMAINS_ROUTE)
.setHeader("domains").constant(config.getDomains())
.split(header("domains"))
.parallelProcessing()
.to(ProcessDomainCamelRoute.CAMEL_ROUTE)
.end()
.end();
Упрощение, домены это json список.
То, что я пытаюсь достичь, - это способ подсчитать количество сообщений и иметь возможность прочитать его по маршруту EndCamelRoute
Я пробовал с exchange.setProperty в процессор (используя CamelSplitSize), setHeader и т. д. c ... но я всегда получаю нулевое значение при чтении.
Кто-нибудь знает способ достижения чего-то подобного? Какой-то ... отчетный материал (количество неудачных, успешных сообщений), но используемый по другому маршруту