У меня есть CSV я обработка отформатирован следующим образом:Apache верблюд (?, Который EIP использовать здесь) агрегатный/обогащают все строки с повторяющимися данными заголовка
01,H2,H3
02,B2,B3,B4,B5
02,B2,B3,B4,B5
02,B2,B3,B4,B5
02,B2,B3,B4,B5
01,H2,H3
02,B2,B3,B4,B5
02,B2,B3,B4,B5
01,H2,H3
02,B2,B3,B4,B5
02,B2,B3,B4,B5
02,B2,B3,B4,B5
01 указывает строку заголовка и 02 указывает строку тела ,
мне нужно взять данные заголовка и добавить его к сообщениям тела, так что я в конечном итоге отправки сообщений, как это:
H2,H3,B2,B3,B4,B5
H2,H3,B2,B3,B4,B5
H2,H3,B2,B3,B4,B5
Я попытался объединить, но это не кажется, право EIP в этот сценарий, поскольку я просто объединяю одно и то же сообщение снова и снова, а не несколько сообщений в один ... На фундаментальном уровне мне нужен доступ к данным заголовка для обработки тела (по правде говоря, это всего лишь одно поле). Я просто не знаю, как установить переменную, поскольку заголовки и свойства очищаются на каждом обмене. Какие-нибудь советы? Заранее спасибо. Дайте мне знать, если это поможет увидеть верблюжий маршрут в его нынешнем виде.
Вот верблюд маршрут, который может помочь:
from("direct:inventory")
.split(body().tokenize("\n")).streaming()
.throttle(100)
.choice()
.when(property("CamelSplitComplete").isEqualTo(true))
.log("Processed ${property.CamelSplitSize} updates")
.end()
.unmarshal(csv)
.log("${body}")
.aggregate(header("CamelFileLastModified"), new InventoryAggregationStrategy())
.completionPredicate(header("aggregationComplete").isEqualTo(true))
.to("freemarker://templates/inventory.ftl")
.unmarshal().string("UTF-8")
.unmarshal().json(JsonLibrary.Jackson)
.convertBodyTo(JsonObject.class)
.to("endpoint");
Честно говоря, я не получил объяснений. Я предполагаю, что вид маршрута поможет понять вашу проблему. – Sergey
Я согласен с комментарием Сергея, не совсем уверенным, что вы имеете в виду, но я подозреваю, что вы смотрите на тип преобразования/транслятора EIP. Совокупный шаблон, похоже, не является правильным выбором. Возможно, покажи примеры, а не только концепцию. – Namphibian
Дайте мне знать, если вы заметили подсказку по маршруту и спецификации данных! – Mazzy