Sorry i have copied full code here I hope it will give you idea what i am trying to achieve
from(ACT_TYPE_SPECFIC_QNAME).choice() .when(header(EVENT_TYPE).isEqualTo(ACT_TRANSACTION)) .filter(simple("{body[isCredit]} == true")) .process(new Processor() { public void process(Exchange exchange) { Map map = (Map) exchange.getIn().getBody(); String Account_No = (String) map.get(ACCOUNT_ID); Map<String,Object> newBody = new HashMap<String, Object>(); newBody.put(ACCOUNT_ID, Account_No); exchange.getIn().setBody(newBody); }}).to(ACTIVATE_QNAME) .endChoice() .otherwise() .setHeader(DESTINATION, constant(DESTINATION_VALUE)) .to(EROOR_QNAME) .end(); Message reached ACT_TYPE_SPECFIC_QNAME but it only checking when ( .when(header(EVENT_TYPE).isEqualTo(ACT_TRANSACTION)) ) condition routing message to ACTIVATE_QNAME Filter not working property in this case. Please kindly help me -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Routing-using-map-message-help-required-tp5740305p5741049.html Sent from the Camel - Users mailing list archive at Nabble.com.