317.2.4. <packageScan> 사용


Camel 2.0에서는 경로 일치와 같은 Ant를 사용하여 발견된 경로 클래스를 선택하고 제외할 수 있도록 이 기능이 확장되었습니다. Spring에서는 <packageScan/> 태그를 추가하여 지정합니다. 태그에는 하나 이상의 '패키지' 요소(즉, 1.x와 유사)가 포함되어야 하며, 선택적으로 검색된 클래스의 정규화된 이름에 적용할 패턴을 지정하는 하나 이상의 'includes' 또는 'excludes' 요소가 포함되어야 합니다.

  <camelContext xmlns="http://camel.apache.org/schema/spring">
    <packageScan>
      <package>org.example.routes</package>
      <excludes>**.*Excluded*</excludes>
      <includes>**.*</includes>
    </packageScan>
  </camelContext>

제외 패턴은 포함 패턴보다 먼저 적용됩니다. 포함 또는 제외 패턴이 정의되지 않은 경우 패키지에서 검색한 모든 Route 클래스가 반환됩니다.

위의 예에서 camel은 모든 'org.example.routes' 패키지와 RouteBuilder 클래스의 하위 패키지를 검색합니다. 검사에서 org.example.routes 두 개를 'MyRoute"라고 하고 하위 패키지 'excludedRoute'의 다른 'MyExcludedRoute'에서 다른 'MyExcludedRoute'를 찾습니다. 각 클래스의 정규화된 이름이 추출되고(org.example.routes.MyRoute, org.example.routes.excluded.MyExcludedRoute) 및 include 및 exclude 패턴이 적용됩니다.

제외 패턴 *.*Excluded 는 fqcn 'org.example.routes.excluded.MyExcludedRoute' 및 veto comel과 일치합니다.

이 항목에서는 다음과 일치하는 Spring의 AntPatternMatcher 구현을 사용합니다.

? matches one character
* matches zero or more characters
** matches zero or more segments of a fully qualified name

예를 들면 다음과 같습니다.

**excluded 는 org.simple.Excluded, org.apache.camel.SomeExcludedRoute 또는 org.example.RouteWhichIsExcluded와 일치합니다.

* ? ?? ?cluded 는 org.simple.IncludedRoute, org.simple.Excluded but match org.simple.PrecludedRoute와 일치합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.