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