log("=======================").
log("received order from orderQueue").
log("=======================").
log("transforming order object to xml").
log("=======================").
marshal(new JaxbDataFormat(Order.class.getPackage().getName())).
log("=======================").
log("delivering order xml to xmlQueue").
log("=======================").
to("jms:xmlQueue");
// This route listens for incoming messages on the JMS queue named xmlQueue. When a message
// arrives, a CDI bean called incomingOrderService is used to extract the data from the XML
// into a HashMap that will be passed on to the fox engine when the process instance is
// started. The HashMap is the same as a variable map that can be passed on to process
// instances via the Activiti API.
from("jms:xmlQueue").
routeId("start order process route").
log("=======================").
log("received order xml from xmlQueue").
log("=======================").
log("setting order # to 'PROCESS_KEY_PROPERTY'").
log("=======================").
setProperty("PROCESS_KEY_PROPERTY").xpath("//@ordernumber").
log("=======================").
log("transforming order xml to order object").
log("=======================").
unmarshal(new JaxbDataFormat(Order.class.getPackage().getName())).
log("=======================").
log("transforming order object to variable map (java.util.Map) as input for activiti process").
log("=======================").
process(new OrderToMapProcessor()).
log("=======================").