8.2. Routing with Apache Camel
- To route message fragments to Apache Camel endpoints, use the camel:route configuration from the http://www.milyn.org/xsd/smooks/camel-1.4.xsd configuration namespace.
- Route to a Camel endpoint by specifying the following in your Smooks configuration:
<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.1.xsd" xmlns:camel="http://www.milyn.org/xsd/smooks/camel-1.4.xsd"> <!-- Create some bean instances from the input source... --> <jb:bean beanId="orderItem" ... "> <!-- etc... See Smooks Java Binding docs --> </jb:bean> <!-- Route bean to camel endpoints... --> <camel:route beanId="orderItem"> <camel:to endpoint="direct:slow" if="orderItem.priority == 'Normal'" /> <camel:to endpoint="direct:express" if="orderItem.priority == 'High'" /> </camel:route> </smooks-resource-list>
In the above example, Javabeans is routed from the Smooks BeanContext to the Camel Endpoints. You can also apply templates (such as FreeMarker) to these same beans and route the templating result instead of the beans (such as as XML and CSV).routeOnElement
.