You have 2 splits, so you need and end before the end choice

On Fri, Jul 26, 2019 at 10:51 AM sujin sr <suji...@gmail.com> wrote:
>
> I am getting ClassCastException while trying to execute camel route
>
> from("timer://messageSplitterTest?repeatCount=1")
>         .process(exchange -> {
>             Message message = exchange.getMessage();
>             List<Message> ongoingMessages = new ArrayList<>();
>             for (int i = 0; i < 10; i++) {
>                 Message listMessage = message.copy();
>                 listMessage.setHeader("count", String.valueOf(i));
>                 ongoingMessages.add(listMessage);
>             }
>             exchange.getIn().setBody(ongoingMessages);
>             exchange.getIn().setHeader("primary", "true");
>         })
>         .choice()
>             .when(header("primary").isEqualTo("true"))
>                 .split(body())
>                 .process(exchange -> {
>                     Message msg = exchange.getMessage();
>                     System.out.println("After Split, count=" +
> msg.getHeader("count", String.class));
>                 })
>                 .split(body())
>                 .to("stream:out")
>             .endChoice()
>             .otherwise()
>                 .to("stream:out")
>         .end()
> ;
>
> I got below error
>
> Exception in thread "main" java.lang.ClassCastException:
> org.apache.camel.model.SplitDefinition cannot be cast to
> org.apache.camel.model.ChoiceDefinition
>         at 
> org.apache.camel.model.ProcessorDefinition.endChoice(ProcessorDefinition.java:1415)
>         at 
> com.temenos.tti.test.utils.camel.MessageSplitCamelTest4$1.configure(MessageSplitCamelTest4.java:40)
>
>
> Kindly Help me to fix this error.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to