10.5. 정렬

10.5.1. 정렬

정렬 패턴은 메시지 본문에 정렬할 수 있는 항목 목록이 포함되어 있다고 가정하여 메시지 본문의 내용을 정렬하는 데 사용됩니다.

기본적으로 메시지의 내용은 숫자 값 또는 문자열을 처리하는 기본 비교기를 사용하여 정렬됩니다. 고유한 비교기를 제공할 수 있으며 정렬할 목록을 반환하는 식을 지정할 수 있습니다(표현식은 java.util.List로 변환할 수 있어야 함).

10.5.2. Java DSL 예

다음 예제에서는 줄 바꿈 문자에서 토큰을 사용하여 정렬할 항목 목록을 생성합니다.

from("file://inbox").sort(body().tokenize("\n")).to("bean:MyServiceBean.processLine");

고유한 비교기를 sort() 의 두 번째 인수로 전달할 수 있습니다.

from("file://inbox").sort(body().tokenize("\n"), new MyReverseComparator()).to("bean:MyServiceBean.processLine");

10.5.3. XML 구성 예

Spring XML에서 동일한 경로를 구성할 수 있습니다.

다음 예제에서는 줄 바꿈 문자에서 토큰을 사용하여 정렬할 항목 목록을 생성합니다.

<route>
  <from uri="file://inbox"/>
  <sort>
    <simple>body</simple>
  </sort>
  <beanRef ref="myServiceBean" method="processLine"/>
</route>

사용자 지정 비교기를 사용하려면 이를 Spring 8080으로 참조할 수 있습니다.

<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"/>

& lt;simple > 외에도 목록을 반환하는 동안 원하는 언어를 사용하여 표현식을 제공할 수 있습니다.

10.5.4. 옵션

sort DSL 명령은 다음 옵션을 지원합니다.

이름

기본값

설명

comparatorRef

 

메시지 본문을 정렬하는 데 사용할 사용자 지정 java.util.Comparator 를 나타냅니다. Camel은 기본적으로 A.Z 정렬을 수행하는 비교기를 사용합니다.