104.25. ANT 경로 일치기를 사용하여 필터링


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

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

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

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

아래 샘플은 사용 방법을 보여줍니다.

104.25.1. 비교기를 사용하여 정렬

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

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

그리고 우리는 스프링 XML 파일에 정의 된 정렬 기 (mySorter)를 참조하도록 정렬기를 사용하여 경로를 구성할 수 있습니다.

 <!-- 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 옵션은 # 구문을 사용하여 빈을 참조할 수 있습니다. 위의 Spring DSL 경로는 ID 앞에 # 를 추가하여 레지스트리의 빈을 참조할 수 있습니다. 따라서 sorter=#mySorter 를 작성하는 경우 Camel에 ID가 mySorter 인 Registry에서 검색하도록 지시합니다.

104.25.2. sortBy를 사용하여 정렬

Camel은 플러그형 정렬 전략을 지원합니다. 이 전략은 파일 언어 를 사용하여 정렬을 구성합니다. sortBy 옵션은 다음과 같이 구성됩니다.

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

여기서 각 그룹은 콜론으로 구분됩니다. 간단한 상황에서 하나의 그룹을 사용하므로 간단한 예는 다음과 같습니다.

sortBy=file:name

이렇게 하면 파일 이름별로 정렬되므로 reverse: 접두사를 지정하여 순서를 변경할 수 있으므로 정렬은 이제 Z.A:입니다.

sortBy=reverse:file:name

파일 언어 의 모든 기능이 있으므로 다른 매개 변수를 사용할 수 있으므로 파일 크기로 정렬하려면 다음을 수행합니다.

sortBy=file:length

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

sortBy=ignoreCase:file:name

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

sortBy=reverse:ignoreCase:file:name

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

sortBy=file:modified

그런 다음 이름으로 이름으로 그룹화하려고 하므로 modifcation이 동일한 파일이 이름으로 정렬되도록 합니다.

sortBy=file:modified;file:name

이제 문제가 있습니다, 당신은 이것을 발견 할 수 있습니까? 파일의 타임스탬프가 밀리초 단위이므로 너무 잘 작동하지만 날짜로만 정렬한 다음 하위 그룹 이름으로 정렬하려면 어떻게 해야 합니까?
파일 언어 의 진정한 기능은 물론 패턴을 지원하는 date 명령을 사용할 수 있습니다. 다음과 같이 이 문제를 해결할 수 있습니다.

sortBy=date:file:yyyyMMdd;file:name

doing, that is pretty powerful, oh by the way you can also use reverse per group, so we could reverse the file names:

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
맨 위로 이동