38.3. Auto-Discovery 和 Configuration

38.3.1. 设置 Auto-Discovery

概述

自动发现是一种机制,可让您动态将组件添加到 Apache Camel 应用程序。组件 URI 前缀用作按需加载组件的密钥。例如,如果 Apache Camel 遇到端点 URI、activemq://MyQName,并且尚未加载 ActiveMQ 端点,Apache Camel 将搜索由 activemq 前缀标识的组件,并且动态加载组件。

组件类的可用性

在配置自动发现前,您必须确保可以从当前类路径访问您的自定义组件类。通常,您可以将自定义组件类捆绑到 JAR 文件中,并将 JAR 文件添加到您的 classpath 中。

配置自动发现

要启用组件的自动发现,请创建一个名为 的 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