10.5. Sort
Sort
Sort パターンは、メッセージのボディーにソートできる項目の一覧が含まれていることを前提として、メッセージのボディーの内容をソートするために使用します。
デフォルトでは、メッセージのコンテンツは、数値または文字列を処理するデフォルトのコンパレーターを使用してソートされます。独自のコンパレーターを提供でき、ソートするリストを返す式を指定できます (式は java.util.List に変換可能である必要があります)。
Java DSL の例
以下の例では、改行文字でトークン化してソートする項目のリストを生成します。
from("file://inbox").sort(body().tokenize("\n")).to("bean:MyServiceBean.processLine");
sort() に 2 番目の引数として独自のコンパレーターを渡すことができます。
from("file://inbox").sort(body().tokenize("\n"), new MyReverseComparator()).to("bean:MyServiceBean.processLine");XML 設定の例
Spring XML で同じルートを設定できます。
以下の例では、改行文字でトークン化してソートする項目のリストを生成します。
<route>
<from uri="file://inbox"/>
<sort>
<simple>body</simple>
</sort>
<beanRef ref="myServiceBean" method="processLine"/>
</route>また、カスタムコンパレーターを使用するには、これを Spring Bean として参照できます。
<route>
<from uri="file://inbox"/>
<sort comparatorRef="myReverseComparator">
<simple>body</simple>
</sort>
<beanRef ref="MyServiceBean" method="processLine"/>
</route>
<bean id="myReverseComparator" class="com.mycompany.MyReverseComparator"/>
<simple> の他にも、任意の言語を使用してリストを返す式を指定することもできます。
オプション
sort DSL コマンドは以下のオプションをサポートします。
| Name (名前) | デフォルト値 | 説明 |
|
|
メッセージボディーのソートに使用するカスタムの |