Categories: Camel프레임워크

[Camel in Action] 1-2. Camel 개발 환경 설정과 첫 번째 라우트 작성

Camel 개발을 시작하기 전에

Apache Camel 개발에 필요한 사전 준비 사항은 다음과 같습니다.

  • Java 11 이상 (Java 17 권장)
  • Maven 또는 Gradle 빌드 도구
  • IDE (IntelliJ IDEA 또는 Eclipse 권장)

Maven 프로젝트 설정

Spring Boot와 함께 Camel을 사용하는 것이 가장 일반적인 방법입니다. pom.xml에 다음 의존성을 추가합니다.

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.2.0</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.apache.camel.springboot</groupId>
        <artifactId>camel-spring-boot-starter</artifactId>
        <version>4.4.0</version>
    </dependency>
</dependencies>

첫 번째 라우트 작성

Camel에서 라우트는 RouteBuilder를 상속받아 configure() 메서드 안에 정의합니다.

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

@Component
public class MyFirstRoute extends RouteBuilder {

    @Override
    public void configure() throws Exception {
        from("timer:hello?period=3000")
            .log("Camel이 실행 중입니다! 현재 시각: ${date:now:HH:mm:ss}")
            .setBody(simple("Hello from Camel!"))
            .to("log:output");
    }
}

이 라우트는 3초마다 타이머가 작동하면서 로그를 출력합니다. from()이 시작점(소비자), to()가 끝점(생산자)입니다.

실행 결과 이해하기

애플리케이션을 실행하면 콘솔에 다음과 같은 출력이 반복됩니다.

INFO  hello - Camel이 실행 중입니다! 현재 시각: 09:15:32
INFO  output - Exchange[ExchangePattern: InOnly, BodyType: String, Body: Hello from Camel!]

라우트의 기본 구조 이해

Camel 라우트는 항상 from → 처리 단계들 → to 구조를 따릅니다.

  • from: 메시지를 어디서 받을지 (소비자 엔드포인트)
  • 처리 단계: log, transform, filter, route 등의 프로세서
  • to: 처리된 메시지를 어디로 보낼지 (생산자 엔드포인트)

CamelContext – Camel의 심장

모든 Camel 라우트는 CamelContext 안에서 실행됩니다. Spring Boot 환경에서는 자동으로 생성되고 관리됩니다. CamelContext는 라우트의 생명주기를 관리하며, 시작/중지/일시정지를 제어합니다.

다음 글에서는 Camel의 핵심 메시지 모델인 Message와 Exchange에 대해 자세히 알아봅니다.

zerg96

Share
Published by
zerg96

Recent Posts

정보처리기사 필기·실기 일정 읽는 법 — 2026년 3회차 실기까지의 흐름

정보처리기사는 필기와 실기가 따로 접수되기 때문에 일정표가 복잡해 보입니다. 2026년 일정표를 바탕으로 필기에서 실기까지의 흐름을…

7시간 ago

회계·세무 자격증 로드맵 — 전산회계에서 재경관리사, 공인회계사까지 2026 일정

회계와 세무 분야 자격증은 입문용부터 국가전문자격까지 단계가 넓습니다. 일정표 자료로 확인된 시험을 중심으로, 어떤 시험이…

7시간 ago

금융투자협회 자격증 한눈에 — 투자권유 자문·대행인과 투자자산운용사 2026 일정

금융투자협회가 시행하는 자격시험은 투자권유자문인력, 투자권유대행인, 투자자산운용사처럼 이름이 비슷한 종목이 많아 처음 보면 헷갈립니다. 일정표 자료를…

7시간 ago

자격증 접수 기간·시험·발표 간격 비교 — 접수 마감을 놓치지 않는 일정 읽기

자격증마다 접수 기간이 며칠인지, 접수가 끝나고 시험까지 얼마나 걸리는지, 시험 후 발표까지 얼마나 기다려야 하는지는…

7시간 ago

ITQ·GTQ·DIAT 차이 한눈에 — 사무·그래픽 자격증 선택법과 2026 일정

ITQ, GTQ, DIAT는 모두 PC 활용 능력을 보여 주는 민간 자격이지만 시행기관과 평가 방식이 다릅니다.…

7시간 ago

컴퓨터활용능력 1급 2급 차이 — 시험 과목, 합격 기준, 상시시험 접수 요령

컴퓨터활용능력은 사무직 취업과 학점 인정 목적으로 가장 많이 응시하는 국가기술자격 중 하나입니다. 1급과 2급은 시험…

7시간 ago