apache-camelapache-camel 시작하기


비고

Apache Camel은 주로 엔터프라이즈 통합 문제 해결을 용이하게하는 프레임 워크입니다. 핵심에서는 라우팅 엔진 엔진 빌더로 생각할 수 있습니다. 본질적으로 그것은 당신이 경로를 통해 시스템 (끝점)을 연결할 수 있습니다. 이 경로는 모든 데이터 유형이 될 수있는 메시지를 허용합니다.

Apache Camel 프레임 워크는 또한 스플리터, 애그리 게이터, 컨텐트 기반 라우팅 등과 같은 EIP (엔터프라이즈 통합 패턴)의 전체 세트를 포함합니다. 프레임 워크는 Java 응용 프로그램의 다양한 독립 실행 형 응용 프로그램, WildFly 및 Tomcat과 같은 다양한 응용 프로그램 서버 또는 완전히 통합 된 엔터프라이즈 서비스 버스에 배포 할 수 있으므로 통합 프레임 워크로 볼 수 있습니다.

프레임 워크를 시작하려면 다음 방법 중 하나를 사용하여 프레임 워크를 프로젝트에 추가해야합니다.

  1. 메이븐
  2. 요람
  3. 봄 부팅
  4. 프로젝트에 기존의 JAR 라이브러리 참조가 추가되었습니다.

카멜 도메인 전용 언어

Camel의 DSL (Domain Specific Language)은 Camel을 다른 통합 프레임 워크에서 돋보이게하는 기능 중 하나입니다. 일부 다른 프레임 워크는 일반적으로 XML 파일 형식의 DSL 개념을 특징으로하지만 DSL은 항상 사용자 정의 기반 언어였습니다.

Camel은 Java, Scala, Groovy 및 XML과 같은 프로그래밍 언어로 여러 DSL을 제공합니다.

예를 들어 간단한 파일 복사 경로는 아래 목록과 같이 다양한 방법으로 수행 할 수 있습니다

  • Java DSL

    from("file:data/in").to("file:data/out");
     
  • 청사진 / 봄 DSL (XML)

    <route>
      <from uri="file:data/inbox"/>
      <to uri="file:data/out"/>
    </route>
     
  • 스칼라 DSL

    from "file:data/inbox" -> "file:data/out"
     

설치 또는 설정

필요한 Camel 종속성 추가에 대한 자세한 지침.


Maven 종속성

Apache Camel을 응용 프로그램에 포함시키는 가장 일반적인 방법 중 하나는 Maven 종속성을 사용하는 것입니다. 아래의 의존성 블록을 추가하면 Maven이 Camel 라이브러리와 의존성을 해결합니다.

<dependency>
  <groupId>org.apache.camel</groupId>
  <artifactId>camel-core</artifactId>
  <version>2.17.3</version>
</dependency>
 

요람

Apache Camel을 응용 프로그램에 포함시키는 또 다른 일반적인 방법은 Gradle 종속성을 사용하는 것입니다. 아래의 의존성 줄을 추가하기 만하면 Gradle이 Camel 라이브러리와 그 의존성을 가져옵니다.

// https://mvnrepository.com/artifact/org.apache.camel/camel-core
compile group: 'org.apache.camel', name: 'camel-core', version: '2.17.3'
 

봄 부팅

Camel 2.15부터 Apache Camel의 Spring Boot 의존성을 활용할 수 있습니다. 이 Camel 라이브러리와의 차이점은 카멜 (Camel) 경로 자동 감지를 포함한 독창적 인 자동 구성을 제공한다는 것입니다.

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-spring-boot</artifactId>
    <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
</dependency>