У меня есть большое сообщение XML, прочитанное из очереди, мне нужно разделить его на куски и преобразовать в объекты, а затем направить их в различные пункты назначения на основе объекта.
Итак, я настроил routeBuilder на
ChoiceDefinition choice = from(routeConfig.getFromEndpoint())
.split().method(xmlSplitter, "splitMessage").streaming().process(xmlProcessor).choice();
for (RouteConfig filter : filters) {
choice = choice.when(header(REPORT_TYPE_HEADER_NAME).contains(filter.getReportTypeHeaderFilter()))
.to(filter.getToEndpoint());
}
choice.otherwise().to(routeConfig.getErrorEndpoint());
Но маршрутизация вообще не происходит, все сообщения отправляются в errorEndpoint.Я нашел причину, чтобы сплиттер удалял заголовок, так как он опережает маршрутизацию.
Кажется, я не могу использовать разбиение после маршрутизации.
Какое решение решить эту проблему?