1장. Camel Spring Boot 시작하기

이 가이드에서는 Camel Spring Boot를 소개하고 Camel Spring Boot를 사용하여 애플리케이션 빌드를 시작하는 방법을 보여줍니다.

1.1. Camel Spring Boot Starters

Spring Boot의 Camel 지원은 많은 Camel 구성 요소에 대한 Camel 및 시작자의 자동 구성을 제공합니다. Spring 컨텍스트에서 사용 가능한 Camel 경로의 자동 구성 자동 구성 및 주요 Camel 유틸리티(예: 생산자 템플릿, 소비자 템플릿 및 유형 변환기)를 빈으로 등록합니다.

참고

Maven archtype을 사용하여 Spring Boot 애플리케이션을 Camel을 생성하는 방법에 대한 자세한 내용은 Maven을 사용하여 Camel for Spring Boot 애플리케이션 생성을 참조하십시오.

시작하려면 Maven pom.xml 파일에 Camel Spring Boot BOM을 추가해야 합니다.

<dependencyManagement>

    <dependencies>
        <!-- Camel BOM -->
        <dependency>
            <groupId>org.apache.camel.springboot</groupId>
            <artifactId>camel-spring-boot-bom</artifactId>
            <version>3.14.5.redhat-00032</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!-- ... other BOMs or dependencies ... -->
    </dependencies>

</dependencyManagement>

camel-spring-boot-bom 은 Camel Spring Boot 시작자 JAR 목록이 포함된 기본 BOM입니다.

다음으로 Camel Spring Boot Starter 를 추가하여 Camel 컨텍스트를 시작합니다.

    <dependencies>
        <!-- Camel Starter -->
        <dependency>
            <groupId>org.apache.camel.springboot</groupId>
            <artifactId>camel-spring-boot-starter</artifactId>
        </dependency>
        <!-- ... other dependencies ... -->
    </dependencies>

Spring Boot 애플리케이션에 필요한 구성 요소 시작 자도 추가해야 합니다. 다음 예제에서는 ActiveMQ 구성 요소에 자동 구성 시작 자를 추가하는 방법을 보여줍니다.

    <dependencies>
        <!-- ... other dependencies ... -->
        <dependency>
            <groupId>org.apache.camel.springboot</groupId>
            <artifactId>camel-activemq-starter</artifactId>
        </dependency>
    </dependencies>

1.1.1. Camel Spring Boot BOM vs Camel Spring Boot Dependencies BOM

생성되는 curated camel-spring-boot-dependencies BOM에는 Spring Boot 및 Apache Camel 모두 충돌을 피하기 위해 조정된 JAR가 포함되어 있습니다. 이 BOM은 camel-spring-boot 자체를 테스트하는 데 사용됩니다.

Spring Boot 사용자는 Camel 시작자 JAR만 관리 종속 항목으로 사용하는 camel-spring-boot-bom 을 사용하여 순수 Camel 종속 항목을 사용하도록 선택할 수 있습니다. 그러나 Spring Boot의 타사 JAR가 특정 Camel 구성 요소와 호환되지 않는 경우 클래스 경로 충돌이 발생할 수 있습니다.

1.1.2. Spring Boot 구성 지원

시작 에는 표준 application.properties 또는 application.yml 파일에서 구성할 수 있는 구성 매개 변수가 나열됩니다. 이러한 매개변수에는 camel.component.[component-name].[parameter] 의 형식이 있습니다. 예를 들어 설정할 수 있는 ActiveMQ 브로커의 URL을 구성하려면 다음을 수행합니다.

camel.component.activemq.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("...");
    }

}