38.2. 如何实施组件
概述
本节简要概述了实施自定义 Apache Camel 组件所需的步骤。
您需要实施哪些接口?
- org.apache.camel.Component
- org.apache.camel.Endpoint
- org.apache.camel.Consumer
- org.apache.camel.Producer
另外,还需要实现以下 Java 接口:
- org.apache.camel.Exchange
- org.apache.camel.Message
实施步骤
实施组件接口 HEKETI-wagonA 组件对象充当端点工厂。您可以扩展
DefaultComponent
类,并实施createEndpoint ()
方法。请参阅 第 39 章 组件接口。
实施 Endpoint 接口 swig-wagonAn 端点代表由特定 URI 标识的资源。实施端点时采取的方法取决于用户是否遵循 事件驱动的 模式、调度的轮询 模式或 轮询 模式。 对于事件驱动的模式,通过扩展
DefaultEndpoint
类并实施以下方法来实现端点:-
createProducer()
createConsumer()
-
createProducer()
createConsumer()
-
createProducer()
createPollConsumer()
请参阅 第 40 章 端点接口。
-
根据您需要 实施 哪种模式(事件驱动、调度轮询或轮询)实施消费者,实施消费者采用多种不同方法。消费者实施对于确定用于处理消息交换的线程模型非常重要。
实施 Producer 接口 HEKETI-5-4To 实施生成者,您可以扩展
DefaultProducer
类并实施process ()
方法。请参阅 第 42 章 生成者接口。
(可选)实现 Exchange 或 Message 接口 to the default 实现 Exchange 和 Message 可以直接使用,但偶尔您可能会发现需要自定义这些类型。
请参阅 第 43 章 交换接口 和 第 44 章 邮件接口。
安装和配置组件
-
将组件直接添加到 CamelContext wagonThe
CamelContext.addComponent ()
方法中,以编程方式添加组件。 -
使用 Spring configuration swig-wagonThe standard Spring
bean
元素添加 组件会创建一个组件实例。bean 的id
属性隐式定义组件前缀。详情请查看 第 38.3.2 节 “配置组件”。 - 配置 Apache Camel 以自动发现组件 HEKETI -wagonAuto-discovery,确保 Apache Camel 按需自动加载组件。详情请查看 第 38.3.1 节 “设置自动诊断”。