103.25. ANT 경로 일치자를 사용하여 필터링


ANT 경로 matcher는 comel -springECDHE에 즉시 제공됩니다. 따라서 Maven을 사용하는 경우 camel-spring 을 사용해야 합니다.
그 이유는 Spring의 BOOM PathMatcher 를 활용하여 실제 일치를 수행하기 때문입니다.

파일 경로는 다음 규칙과 일치합니다.

  • ? 한 문자 일치
  • * 0개 이상의 문자 일치
  • ** 경로에서 0개 이상의 디렉토리와 일치
작은 정보

Camel 2.10 이후의 새로운 옵션은 이제 antIncludeantExclude 옵션이 있으므로 필터를 정의하지 않고도 ANT 스타일 include/exclude를 쉽게 지정할 수 있습니다. 자세한 내용은 위의 URI 옵션을 참조하십시오.

아래 샘플에서는 이를 사용하는 방법을 보여줍니다.

103.25.1. Comparator를 사용하여 정렬

Camel은 플러그형 정렬 전략을 지원합니다. 이 전략은 Java의 java.util.Comparator 에서 빌드를 사용하는 것입니다. 그런 다음 이러한 비교자를 사용하여 끝점을 구성하고 처리되기 전에 Camel이 파일을 정렬하도록 할 수 있습니다.

샘플에서 파일 이름으로 정렬하는 자체 비교기를 빌드했습니다.

그리고 Spring XML 파일에 정의된 분류기(mySorter)를 참조하도록 sorter 옵션을 사용하여 경로를 구성할 수 있습니다.

 <!-- define our sorter as a plain spring bean -->
 <bean id="mySorter" class="com.mycompany.MyFileSorter"/>

<route>
  <from uri="file://inbox?sorter=#mySorter"/>
  <to uri="bean:processInbox"/>
</route>
작은 정보

URI 옵션은 # syntax in the Spring DSL 경로에서 # syntax #을 참조할 수 있습니다. 위의 Spring DSL 경로에서는 #.을 접두사로 추가하여 레지스트리에서 DestinationRules를 참조할 수 있습니다. 따라서 sorter=#mySorter 를 작성하면 Camel에 ID가 mySorter 인 DestinationRule이 있는 Registry에서 확인하도록 지시합니다.

103.25.2. sortBy를 사용하여 정렬

Camel은 플러그형 정렬 전략을 지원합니다. 이 전략은 File Language 를 사용하여 정렬을 구성하는 것입니다. sortBy 옵션은 다음과 같이 구성됩니다.

sortBy=group 1;group 2;group 3;...

각 그룹이 colon로 구분되는 경우 간단한 상황에서는 하나의 그룹을 사용하므로 간단한 예는 다음과 같습니다.

sortBy=file:name

이렇게 하면 파일 이름으로 정렬됩니다. 역 접두사를 붙여서 순서를 변경할 수 있습니다. , 해당 그룹에 대한 정렬은 이제 Z..A입니다.

sortBy=reverse:file:name

파일 언어 의 전체 전원을 가지고 있으므로 다른 매개 변수 중 일부를 사용할 수 있으므로 파일 크기로 정렬하려면 다음을 수행합니다.

sortBy=file:length

문자열 비교에 ignoreCase: 를 사용하여 대/소문자를 무시하도록 구성할 수 있으므로 파일 이름 정렬을 사용하지만 대/소문자를 무시하려면 다음을 수행합니다.

sortBy=ignoreCase:file:name

무시 케이스와 역방향을 결합할 수 있지만 먼저 역방향을 지정해야 합니다.

sortBy=reverse:ignoreCase:file:name

아래 샘플에서 마지막으로 수정한 파일로 정렬하려면 다음을 수행합니다.

sortBy=file:modified

그런 다음 동일한 수정 사항이 있는 파일을 이름으로 정렬할 수 있도록 2nd 옵션으로 그룹화합니다.

sortBy=file:modified;file:name

이제 여기에 문제가 있습니다. 찾을 수 있습니까? 파일의 수정된 타임 스탬프는 밀리초 단위로 너무 좋지만, 날짜별로 정렬하려는 경우 이름별로만 정렬하려면 어떻게 해야 합니까?
파일 언어 의 실제 기능을 사용할 수 있을 뿐만 아니라 패턴을 지원하는 date 명령을 사용할 수 있습니다. 따라서 이 문제는 다음과 같이 해결될 수 있습니다.

sortBy=date:file:yyyyMMdd;file:name

이것은 매우 강력합니다. 그룹당 리버스를 사용할 수 있는 방식으로, 파일 이름을 반전할 수 있습니다.

sortBy=date:file:yyyyMMdd;reverse:file:name
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동