Thanks for the hint! I managed to get it working now.
I made a beanshell processor that can be used as a bean in with Spring XML The xml config <bean id="messageProcessor" class="processor.BeanShellProcessor"> <property name="expression"> <value> in.put("from", in.get("to")); in.put("to", in.get("toPdf")); </value> </property> </bean> The java code import java.util.HashMap; import org.apache.bsf.BSFManager; import org.apache.camel.Exchange; import org.apache.camel.Processor; public class BeanShellProcessor implements Processor { private String expression; public void process(Exchange ex) throws Exception { BSFManager manager = new BSFManager(); manager.declareBean("in", ex.getIn().getBody(), HashMap.class); manager.exec("beanshell", "myScript.bsh", 0, 0, this.getExpression()); } public String getExpression() { return expression; } public void setExpression(String expression) { this.expression = expression; } } Camel config <camel:route> <camel:from uri="activemq:queue:incoming" /> <camel:pipeline> <camel:to uri="activemq:queue:service.A" /> <camel:choice> <camel:when> <camel:el>${in.body["somefield"] == "true"}</camel:el> <camel:process ref="messageProcessor" /> <camel:to uri="activemq:queue:service.B"/> </camel:when> </camel:choice> </camel:pipeline> </camel:route> Tim -- View this message in context: http://www.nabble.com/Using-camel-to-send-and-alter-MapMessage-to-a-JMS-queue-tp23850609p23865923.html Sent from the Camel - Users mailing list archive at Nabble.com.