2016-07-23 2 views
0

Я хочу изменить порядок сообщений и динамически маршрутизировать сообщения в соответствии с их порядком после повторного выравнивания. Скажем, первое сообщение после повторного выравнивания должно быть направлено на A, а другие - на маршрут B.Динамическая маршрутизация, основанная на повторных сообщениях

Я смог изменить порядок сообщений с помощью resequencer, но как мне динамически маршрутизировать первое сообщение только на конкретный маршрут после повторного выравнивания? Любая помощь приветствуется.

from(CAMEL_DIRECT_REORGANISE_MSGS) 
     .resequence(header("priority")).batch().timeout(resequencerTimeout * 1000).size(3).reverse() 
     .to("direct:A"); 

В выше маршрут, все сообщения из потоков в преобразовани последовательности RouteA, но я хочу в одиночку первое сообщение течь в RouteA и остальных к RouteB.

ответ

0

Используйте компонент списка получателей, он позволяет динамически передавать конечную точку uri в конечной точке «до».

+0

но как установить список получателей как «маршрут» для первого элемента (индекс 0 партии повторной последовательности) и как «маршрут B» для остальных после повторной последовательности? потому что вы не будете знать, какой элемент является первым в партии повторной последовательности. – sheikhisham

Смежные вопросы