apache-camelapache-camelを使い始める


備考

Apache Camelは、主にエンタープライズ統合の課題の解決を容易にするフレームワークです。そのコアでは、ルーティングエンジンエンジンビルダーと考えることができます。本質的には、ルート経由でシステム(エンドポイント)を接続することができます。これらのルートは、任意のデータ型のメッセージを受け入れます。

Apache Camelフレームワークには、スプリッタ、アグリゲータ、コンテンツベースのルーティングなどのEIP(エンタープライズ統合パターン)の完全なセットも含まれています。このフレームワークは、Javaアプリケーションのさまざまなスタンドアロン、WildFlyやTomcatなどのさまざまなアプリケーションサーバー、または完全なエンタープライズサービスバスに展開できるため、統合フレームワークとみなすことができます。

フレームワークを使い始めるには、次のいずれかの方法でプロジェクトに追加する必要があります。

  1. Maven
  2. 受け台
  3. 春のブート
  4. あなたのプロジェクトに古いJARライブラリ参照が追加されました。

キャメルドメイン固有の言語

CamelのDSL(Domain Specific Language)は、Camelを他の統合フレームワークから凌駕する機能の1つです。他のいくつかのフレームワークは、通常XMLファイルの形式でDSLの概念も備えていますが、DSLは常にカスタムベースの言語でした。

Camelは、Java、Scala、Groovy、XMLなどのプログラミング言語で複数のDSLを提供しています。

たとえば、以下のリストに示すように、単純なファイルコピールートをさまざまな方法で実行できます

  • Java DSL

    from("file:data/in").to("file:data/out");
     
  • Blueprint / Spring 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をアプリケーションに組み込む最も一般的な方法の1つは、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>