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.