Jar Scan Filter コンポーネント

目次

はじめに

Jar Scan Filter 要素は、Jar Scanner からの結果がアプリケーションに渡される前にフィルタリングするコンポーネントを表します。これは通常、一部またはすべてのスキャンタイプに関連しないことが分かっているJARのスキャンをスキップするために使用されます。

Jar Scan Filter 要素は、Jar Scanner コンポーネント内にネストすることができます。

例えば、プラガブル機能のスキャン時に追加のjarファイルを指定できます

<Context>
  ...
  <JarScanner>
    <JarScanFilter
        pluggabilityScan="${tomcat.util.scan.StandardJarScanFilter.jarsToScan},
                       my_pluggable_feature.jar"/>
  </JarScanner>
  ...
</Context>

Jar Scan Filter 要素が含まれていない場合、ほとんどの要件で十分なデフォルトのJar Scan Filter 設定が自動的に作成されます。

属性

共通属性

Jar Scan Filter のすべての実装は、次の属性をサポートしています

属性説明
className

使用する実装のJavaクラス名です。このクラスは org.apache.tomcat.JarScanFilter インターフェースを実装する必要があります。指定されない場合、標準値(以下に定義)が使用されます。

標準実装

Jar Scan Filter の標準実装は org.apache.tomcat.util.scan.StandardJarScanFilter です。それがサポートする追加の属性(上記の共通属性に加えて)は、表に記載されています。

pluggabilitySkippluggabilityScantldSkiptldScan 属性の値は、ファイル名パターンのリストです。パターンはカンマ (',') で区切られます。パターンの先頭と末尾の空白文字は無視されます。パターンはケースセンシティブに照合されます。以下の2つの特殊文字がサポートされています

  • '*' - 0個以上の文字を意味します、
  • '?' - ちょうど1つの文字を意味します。

JARをプラガビリティスキャンから除外すると、WebアプリケーションのJAR(つまり /WEB-INF/lib にあるもの)からServletContainerInitializerがロードされるのを防ぎますが、コンテナ(Tomcat)からServletContainerInitializerがロードされるのを防ぐわけではないことに注意してください。コンテナによって提供されるServletContainerInitializerがロードされるのを防ぐには、ContextcontainerSciFilter プロパティを使用してください。

属性説明
pluggabilitySkip

Servlet 3.0仕様によって導入されたプラガブル機能のスキャン時にスキップするJARファイル名パターンのカンマ区切りリスト。指定されない場合、デフォルトは tomcat.util.scan.StandardJarScanFilter.jarsToSkip システムプロパティから取得されます。

pluggabilityScan

Servlet 3.0仕様によって導入されたプラガブル機能のスキャン時にスキャンするJARファイル名パターンのカンマ区切りリスト。指定されない場合、デフォルトは tomcat.util.scan.StandardJarScanFilter.jarsToScan システムプロパティから取得されます。

defaultPluggabilityScan

プラガブル機能のスキャン時に、JARがデフォルトでスキャンされるかスキップされるかを制御します。trueの場合、JARの名前がpluggabilitySkipのどのパターンにも一致しないか、pluggabilityScanのいずれかのパターンに一致する場合にスキャンされます。falseの場合、JARの名前がpluggabilityScanのいずれかのパターンに一致し、かつpluggabilitySkipのどのパターンにも一致しない場合にスキャンされます。指定されない場合、デフォルト値はtrueです。

tldSkip

タグライブラリ(TLD)のスキャン時にスキップするJARファイル名パターンのカンマ区切りリスト。指定されない場合、デフォルトは tomcat.util.scan.StandardJarScanFilter.jarsToSkip システムプロパティから取得されます。

tldScan

タグライブラリ(TLD)のスキャン時にスキャンするJARファイル名パターンのカンマ区切りリスト。指定されない場合、デフォルトは tomcat.util.scan.StandardJarScanFilter.jarsToScan システムプロパティから取得されます。

defaultTldScan

TLDのスキャン時に、JARがデフォルトでスキャンされるかスキップされるかを制御します。trueの場合、JARの名前がtldSkipのどのパターンにも一致しないか、tldScanのいずれかのパターンに一致する場合にスキャンされます。falseの場合、JARの名前がtldScanのいずれかのパターンに一致し、かつtldSkipのどのパターンにも一致しない場合にスキャンされます。指定されない場合、デフォルト値はtrueです。

ネストされたコンポーネント

Jar Scan Filter 要素内にコンポーネントをネストすることはできません。

特別な機能

Jar Scan Filter 要素には、特別な機能は関連付けられていません。