I have following code, in which header is not available in main route after coming back from direct route and which is set after split
from("timer://ipc?repeatCount=1&delay=5000") .routeId("timer-ipc") .to("direct:Route1") .choice() .when( simple("${in.header.bookno} != null ") ) .to("direct:Route2") .end() .to("log:my?showAll=true&multiline=true"); from("direct:Route1") .routeId("Route1") .to("kubernetes-config-maps:///?kubernetesClient=#kubernetesClient&operation=getConfigMap") .setBody( simple("${body.getData()[my.json]}") ) .setHeader("Test",simple("This Header is available in timer-ipc route ")) .choice() .when().jsonpath("$.store.book[?(@.price < 10)]") .setBody( simple("${body[0]}") ) //.split(body()) .setHeader("bookno",simple("${body[no]}") ) // This Header is not accessible in timer-ipc route if set after split but works with setBody .end();