通过在camel中使用XStream将信息转换为Xml格式:
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<dataFormats>
<xstream id="myXstream"/>
</dataFormats>
<route>
<from uri="direct:foo"/>
<marshal ref="myXstream"/>
<to uri="activemq:queue:foo"/>
</route>
</camelContext>
通过marshal将信息转换成Xml发送到activemq:queue消息队列中。
也可以在路由的一开始就使用XStream数据格式:
<route>
<from uri="direct:foo"/>
<marshal><xstream/></marshal>
<to uri="activemq:queue:foo"/>
</route>
也可以用Java DSL,写法更加简单:
from("direct:foo").marshal().xstream().to("uri:activemq:queue:foo");
相反的操作,使用unmarshaling可以将Xml转换为对象:(下面我们举一个例子)
<route>
<from uri="activemq:queue:foo"/>
<unmarshal ref="myXstream"/>
<to uri="direct:handleFoo"/>
</route>