38.3. 自動検出と設定
38.3.1. 自動検出の設定
概要
自動検出は、コンポーネントを Apache Camel アプリケーションに動的に追加できるようにするメカニズムです。コンポーネントの URI 接頭辞は、必要に応じてコンポーネントをロードするキーとして使用されます。たとえば、Apache Camel がエンドポイント URI activemq://MyQName に到達し、ActiveMQ エンドポイントがロードされていない場合、Apache Camel は activemq 接頭辞によって識別されるコンポーネントを検索し、コンポーネントを動的にロードします。
コンポーネントクラスの可用性
自動検出を設定する前に、カスタムコンポーネントクラスが現在のクラスパスからアクセスできることを確認する必要があります。通常、カスタムコンポーネントクラスを JAR ファイルにバンドルし、JAR ファイルをクラスパスに追加します。
自動検出の設定
コンポーネントの自動検出を有効にするには、コンポーネント接頭辞 component-prefix の名前の Java プロパティーファイルを作成し、そのファイルを以下の場所に保存します。
/META-INF/services/org/apache/camel/component/component-prefix
component-prefix プロパティーファイルには、以下のプロパティー設定が含まれている必要があります。
class=component-class-name
ここで、component-class-name はカスタムコンポーネントクラスの完全修飾名になります。このファイルに追加のシステムプロパティー設定を定義することもできます。
例
たとえば、以下の Java プロパティーファイルを作成して、Apache Camel FTP コンポーネントの自動検出を有効にできます。
/META-INF/services/org/apache/camel/component/ftp
以下の Java プロパティー設定が含まれます。
class=org.apache.camel.component.file.remote.RemoteFileComponent
FTP コンポーネントの Java プロパティーファイルは、JAR ファイル camel-ftp-
Version.jar
にすでに定義されています。