2012-06-18 11 views
7

Apache CamelのようなESBでは、エンドポイントからエンドポイントまでのルートに沿って実際にメッセージを「行進」(プル/プッシュ)するメカニズムはありますか?Apache Camel:メッセージはどのように流れますか?

キャメルRouteBuilderがちょうどEndpointsEndpointsRoutesのグラフを構成し、それが一定のEndpointを訪問した後にメッセージを渡すためにどの宛先/次Endpoint確認または実行してい自体が、それが持っているメッセージの次の目的地であるかを知ります処理される。

いずれかの方法、私は困惑している:

  • それはシステムを介したメッセージの「流れ」を知っているRouteBuilderである場合、このRouteBuilderEndpoint Aへのビジネスロジックを知っておく必要があります必要がありますメッセージをEndpoint BEndpoint Cの間に渡しますが、すべてのCamelの例ではこのビジネスロジックは存在しません。そして
  • 私がすることをお勧め一緒にカップルそれらをEndpointsで自分自身を「フロー」のビジネス・ロジックのようなものを置くことのようだとSOA/ESB/EIPの基本原則の一部など

答えて

8

例えば参照してください。ラクダは、各ノードがCamelエンドポイント/プロセッサであり、各エッジが2つのエンドポイント(送信元と送信先)間のルートである純粋なグラフを構築していると考えています。このグラフは、APIを呼び出すときに正確にRouteBuilderが作成しているものです。 start() Camelルートに行くと、グラフは検証され、実行する必要がある一連のRunnableに変換され、Runnableを処理するためにカスタムExecutorまたはスレッド管理を使用している可能性があります。

このように、Runnable(メッセージが到着するとプロセッサが処理される)の実行はこのカスタムExecutorによって処理されます。これは、タスクがキューに入れられる順序がRouteBuilderで構成されたグラフの最も包括的な構造によって駆動されますが、「メッセージを進行させる」メカニズムです。

7

を破りますこのQAを最初にお読みください。 What exactly is Apache Camel? ...それが参照するリンク、Apache Camelに関するさらに詳しい情報があります。

ビジネスロジックには、Java Bean(POJO)などの任意の種類のロジックを使用できます。 Camelでは、ビジネスロジックに疎結合でアクセスすることができます。これらのリンクフードIの下で

関連する問題