第 1 章 Camel Spring Boot 入门

本指南介绍了 Camel Spring Boot,并演示了如何开始使用 Camel Spring Boot 构建应用程序:

1.1. Camel Spring Boot 启动器

Camel 支持 Spring Boot 为许多 Camel 组件提供 Camel 和启动程序的 自动配置。Camel 上下文会自动探测到 Spring 上下文中的 Camel 路由的不透明自动配置,并将密钥 Camel 实用程序(如制作者模板、消费者模板和类型转换器)注册为 Bean。

注意

有关使用 Maven archtype 为 Spring Boot 应用程序生成 Camel 的详情,请参考使用 Maven 为 Spring Boot 应用程序生成 Camel

要开始,您必须将 Camel Spring Boot BOM 添加到 Maven pom.xml 文件中。

<dependencyManagement>

    <dependencies>
        <!-- Camel BOM -->
        <dependency>
            <groupId>com.redhat.camel.springboot.platform</groupId>
            <artifactId>camel-spring-boot-bom</artifactId>
            <version>3.20.1.redhat-00064</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- ... other BOMs or dependencies ... -->
    </dependencies>

</dependencyManagement>

camel-spring-boot-bom 是一个基本 BOM,其中包含 Camel Spring Boot starter JARs 列表。

接下来,添加 Camel Spring Boot Start 来启动 Camel 上下文

    <dependencies>
        <!-- Camel Starter -->
        <dependency>
            <groupId>com.redhat.camel.springboot.platform</groupId>
            <artifactId>camel-spring-boot-starter</artifactId>
        </dependency>
        <!-- ... other dependencies ... -->
    </dependencies>

您还必须添加 Spring Boot 应用程序所需的任何组件启动程序。以下示例演示了如何将自动配置启动程序添加到 mq 5 组件

    <dependencies>
        <!-- ... other dependencies ... -->
        <dependency>
            <groupId>org.apache.camel.springboot</groupId>
            <artifactId>camel-paho-mqtt5</artifactId>
        </dependency>
    </dependencies>

1.1.1. Camel Spring Boot BOM 与 Camel Spring Boot Dependencies BOM

策展的 camel-spring-boot-dependencies BOM (生成)包含 Spring Boot 和 Apache Camel 使用的调整 JAR,以避免任何冲突。此 BOM 用于测试 camel-spring-boot 本身。

Spring Boot 用户可以使用 camel-spring-boot-bom 选择使用 Camel 依赖项,该依赖项只有 Camel starter JARs 作为受管依赖项。但是,如果 Spring Boot 的第三方 JAR 与特定的 Camel 组件不兼容,这可能会导致类路径冲突。

1.1.2. Spring Boot 配置支持

每个 入门 程序列出了您可以在标准 application.propertiesapplication.yml 文件中配置的配置参数。这些参数的格式为 camel.component.[component-name].[parameter]。例如,要配置 mq5 代理的 URL,您可以设置:

camel.component.paho-mqtt5.broker-url=tcp://localhost:61616

1.1.3. 添加 Camel 路由

Camel 路由 在 Spring 应用程序上下文中检测到,例如使用 org.springframework.stereotype.Component 注解的路由会被加载,添加到 Camel 上下文并运行。

import org.apache.camel.builder.RouteBuilder;
import org.springframework.stereotype.Component;

@Component
public class MyRoute extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("...")
            .to("...");
    }

}