0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Camelについて

Posted at

Javaの現場でCamel使うチャンスがあったので、キャメルについてまとめます!

Apache Camel(アパッチ・キャメル)とは

Apache Camel は Java を中心とした統合フレームワークです。
複数のシステムを「ルーティング」という考え方でつなぎます。


1. Camelでできること

  • REST API 連携
  • ファイル連携
  • バッチ処理
  • メッセージング(JMS / Kafka)
  • データ形式変換(JSON / XML)

👉 「データの流れ」を定義するフレームワーク


2. Route(ルート)

Route は処理の流れそのものです。

例(イメージ):

from("direct:start")
  → 処理
  → レスポンス作成

3. Endpoint(エンドポイント)

データの入口・出口。

例:

  • rest:get:/health
  • file:/tmp/input
  • jms:queue:test

4. Exchange と Message

  • Exchange:1リクエスト分の箱
  • Message:中身

Message の中身:

  • Body(本文)
  • Header(制御情報)

※ Camel 3 では Message は1つのみ


5. Body / Header / Property の違い

種類 役割
Body レスポンス本文
Header HTTP情報・条件分岐
Property ルート内の一時データ

6. REST API の考え方

  • rest:URL定義
  • route:処理定義
  • Body に入れたものがレスポンス

例(イメージ):

/api/health
  → SUCCESS を返す

7. XML / JSON レスポンス

  • JSON:Jacksonで自動変換
  • XML:JAXB / Jackson XML
  • XSD(Schema)は 必須ではない
    • バリデーションしたい場合のみ使用

8. エラーハンドリング

考え方:

例外発生
  → handled(true)
  → エラーレスポンス作成

9. 向いているケース

  • 複数システム連携
  • API + バッチ混在
  • 仕様変更が多い現場

10. まとめ

Apache Camel は
「処理を書く」のではなく
「処理の流れを書く」フレームワーク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?