...
In the route below it will read the file content and tokenize by line breaks so each line can be sorted.
Code Block |
---|
| xml |
---|
| xml |
---|
title | Camel 2.7 or better |
---|
|
<route>
<from uri="file://inbox"/>
<sort>
<expression><simple>body</simple>
</sort>
<beanRef ref="myServiceBean" method="processLine"/>
</route>
|
Code Block |
---|
| xml |
---|
| xml |
---|
title | Camel 2.6 or older |
---|
|
<route>
<from uri="file://inbox <tokenize token="\n"/>
<sort>
<expression>
<simple>body</simple>
</expression>
</sort>
<beanRef ref="myServiceBean" method="processLine"/>
</route>
|
And to use our own comparator we can refer to it as a spring bean:
Code Block |
---|
| xml |
---|
| xml |
---|
title | Camel 2.7 or better |
---|
|
<route>
<from uri="file://inbox"/>
<sort comparatorRef="myReverseComparator">
<expression><simple>body</simple>
</sort>
<beanRef ref="MyServiceBean" method="processLine"/>
</route>
<bean id="myReverseComparator" class="com.mycompany.MyReverseComparator"/>
|
Code Block |
---|
| xml |
---|
| xml |
---|
title | Camel 2.6 or older |
---|
|
<route>
<from uri="file://inbox"/>
<sort comparatorRef="myReverseComparator">
<expression>
<simple>body</simple> <tokenize token="\n"/>
</expression>
</sort>
<beanRef ref="MyServiceBean" method="processLine"/>
</route>
<bean id="myReverseComparator" class="com.mycompany.MyReverseComparator"/>
|
If you omit the <expression>
element, then the body of the message must already be in the form of a list. Besides <tokenize>
Besides <simple>
, you can supply an expression using any language you like, so long as it returns a list.
...