У меня есть верблюжий маршрут, настроенный следующим образом:
List<SomeRouteInfo> routes = getRouteInfo(); //I crete the routes using the info in the list.
for ( SomeRouteInfo info : routes ){
RouteDefinition routeDef = from(info.from());
routeDef
.errorHandler(someErrorHandler);
.routeId(info.getId());
if (info.someCondition()){
routeDef
.split().method(someSplitterBean)
.process(processorBean1) //The message seems split here.
}
routeDef
.process(processorBean2) //The message is no longer split here. I need it to be.
.to(info.to())
}
По сути, на некоторых маршрутах я хочу, чтобы сплиттер присутствовал, а на других нет. Информация о том, следует ли разбивать сообщение, отсутствует в самом сообщении.
Итак, проблема в том, что когда я обрабатываю процессорBean1, кажется, что у меня есть несколько сообщений. К сожалению, похоже, что на процессоре Bean2 у меня нет того же. Вместо этого у меня есть исходное тело сообщения.
Я не хочу, чтобы разделенные сообщения терпели неудачу по отдельности в CPUBean2 при исключении, не сбивая все остальное. Итак, по этой причине я хочу, чтобы это были отдельные сообщения в CPUBean2. Что я могу сделать, чтобы добиться этого?