検索

296.2.4. <packageScan> の使用

download PDF

Camel 2.0 では、これは、パス一致のような Ant を使用した検出されたルートクラスの選択的包含および除外を可能にするために拡張されました。Spring では、これは <packageScan/> タグを追加して指定されます。タグには 1 つ以上の 'package' 要素が含まれる必要があり(1.x と同様に)、任意で 1 つ以上の「includes」または「excludes」要素で、検出されたクラスの完全修飾名に適用するパターンを指定します。以下に例を示します。

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

除外パターンは、包含パターンの前に適用されます。include パターンまたは exclude パターンが定義されていない場合は、パッケージで検出されるすべての Route クラスが返されます。

上記の例では、Camel はすべての 'org.example.routes' パッケージと RouteBuilder クラスのすべてのサブパッケージをスキャンします。スキャンで、'MyRoute" と呼ばれる org.example.routes と、サブパッケージ 'excluded' の別の 'MyExcludedRoute' の 2 つの RouteBuilder が見つかるとします。各クラスの完全修飾名(org.example.routes.MyRoute、org.example.routes.excluded.MyExcludedRoute)が適用され、include パターンおよび exclude パターンが適用されます。

除外パターン *.*Excluded は fqcn 'org.example.routes.excluded.MyExcludedRoute' と初期化から camel に一致させます。

ここでは、これは以下のように 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

*.??clude ded は org.simple.IncludedRoute, org.simple.Excluded match org.simple.PrecludedRoute と一致します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.