10.5. 並び替え
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 コマンドは以下のオプションをサポートします。
名前 | デフォルト値 | 説明 |
|
メッセージボディーのソートに使用するカスタムの |