Вот мое определение маршрута:
Код: Выделить всё
from(direct("input"))
.routeId("input-route")
.setHeader(HttpHeaders.CONTENT_TYPE, constant(MediaType.MULTIPART_FORM_DATA_VALUE))
.unmarshal().mimeMultipart()
.split().tokenize("\n").streaming()
.aggregate(constant(true), new GroupedBodyAggregationStrategy())
.completionSize(1000)
.completionPredicate(exchangeProperty(Exchange.SPLIT_COMPLETE))
.setExchangePattern(ExchangePattern.InOnly)
.multicast().parallelProcessing()
.to(direct("output"));
Агрегатор должен завершить работу, когда будет достигнут размер пакета или когда SPLIT_COMPLETE для свойства установлено значение true.
После обработки обмен должен быть помечен как выполненный.
Фактическое поведение:
Свойство SPLIT_COMPLETE всегда имеет значение false.
Обмен никогда не завершается.
Агрегация никогда не завершается.
Эта проблема начала возникать после перехода на Apache Camel 4.6.0. Кто-нибудь сталкивался с подобной проблемой или знает, что может быть причиной такого поведения?
Будем очень признательны за любую помощь или предложения. Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/790 ... g-exchange