首先,我们需要理解org.apache.camel.Processor这个接口,它只有一个方法process,参数是Exchange。
Exchange是什么呢?我们可以将Exchange理解为一个“消息”的封装,它包含了in和out两部分,这两部分又可以分别包含一个(或零个)body和多个(或零个)header。
我们可以把org.apache.camel.Processor看成是一个处理过程,它处理的就是Exchange,一般来说处理的就是Exchange中in的部分包含的信息,然后再将处理的结果放到out的部分作为输出;
在camel-blueprint的路由中,我们可以将一些信息传递给这个Processor去处理:
<bean id="myprocessor" class="the.class.that.implements.processor.interface"/> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <route id="Router1"> <from uri="quartz://Timer1?stateful=true&cron=0/10+*+*+*+*+?" /> <setHeader headerName="header1"> <simple resultType="java.lang.String">07</simple> </setHeader> <to uri="bean:myprocessor"/> </route> </camelContext>