Have you tried first using splitter, and then using a choice to determine
the route?  From the example in "Composed Message Processor", they do
something similar:

// split up the order so individual OrderItems can be validated by the
appropriate bean
from("direct:start")
    .split().body()
    .choice()
        .when().method("orderItemHelper", "isWidget")
            .to("bean:widgetInventory")
        .otherwise()
            .to("bean:gadgetInventory")
    .end()
    .to("seda:aggregate");

// collect and re-assemble the validated OrderItems into an order again
from("seda:aggregate")
    .aggregate(new
MyOrderAggregationStrategy()).header("orderId").completionTimeout(1000L)
        .to("mock:result");

Of course, your "when" calls will be different to look at the key values.


On Mon, Oct 24, 2016 at 5:03 AM, raghavender.anth...@gmail.com <
raghavender.anth...@gmail.com> wrote:

> I've gone through the document of recipient list and seems it send the same
> copy of the message to all routes.
>
> I'm looking for sending each value of the map to a different router based
> on
> the key.
>
> Thank you.
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.
> com/Dynamic-routing-based-on-collection-values-tp5789157p5789165.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Reply via email to