7.4. Camel Spring Boot 시작 프로그램 사용

Apache Camel은 Spring Boot 애플리케이션 개발을 빠르게 시작할 수 있는 시작 모듈을 제공합니다.

절차

  1. Spring Boot pom.xml 파일에 다음 종속성을 추가합니다.

    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-spring-boot-starter</artifactId>
    </dependency>
  2. 아래 코드 조각에 표시된 대로 Camel 경로가 포함된 클래스를 추가합니다. 이러한 경로가 클래스 경로에 추가되면 경로가 자동으로 시작됩니다.

    package com.example;
    
    import org.apache.camel.builder.RouteBuilder;
    import org.springframework.stereotype.Component;
    
    @Component
    public class MyRoute extends RouteBuilder {
    
        @Override
        public void configure() throws Exception {
            from("timer:foo")
              .to("log:bar");
        }
    }
  3. 선택 사항: Camel이 유지되도록 기본 스레드를 차단하여 유지하려면 다음 중 하나를 수행하십시오.

    1. spring-boot-starter-web 종속성을 포함합니다.
    2. 또는 application.properties 또는 application.yml 파일에 camel.springboot.main-run-controller=true 를 추가합니다.

      camel.springboot.* 속성을 사용하여 application.properties 또는 application.yml 파일에서 Camel 애플리케이션을 사용자 지정할 수 있습니다.

  4. 선택 사항: Quarkus의 ID 이름을 사용하여 사용자 지정 useful을 참조하려면 src/main/resources/application.properties (또는 application.yml) 파일에서 옵션을 구성합니다. 다음 예제에서는ans ID를 사용하여 xslt 구성 요소가 사용자 지정 8080을 참조하는 방법을 보여줍니다.

    1. myExtensionFactory ID로 사용자 지정 8080을 참조하십시오.

      camel.component.xslt.saxon-extension-functions=myExtensionFactory
    2. 그런 다음 Spring Boot @Bean 주석을 사용하여 사용자 지정 8080을 만듭니다.

      @Bean(name = "myExtensionFactory")
      public ExtensionFunctionDefinition myExtensionFactory() {
          }

      또는 jackson ObjectMapper의 경우 camel-jackson data-format에서 다음을 수행하십시오.

      camel.dataformat.json-jackson.object-mapper=myJacksonMapper