10

Apache CamelのようなESBでは、エンドポイントからエンドポイントへのルートに沿ってメッセージを実際に「マーチング」(プル/プッシュ)するメカニズムは何ですか?

キャメルRouteBuilderはグラフを作成しEndpoints、特定の場所を訪れた後にメッセージを渡すRoutes宛先/次の宛先を知っていますか、それとも処理したメッセージの次の宛先を知っていますか?EndpointEndpointEndpoints

いずれにせよ、私は混乱しています:

  • RouteBuilderシステムを介したメッセージの「フロー」を知っているのは、vsの横にメッセージを渡すRouteBuilderタイミングのビジネスロジックを知っている必要がありますが、すべてのCamelの例では、このビジネスロジックはそうではありません。存在; とEndpoint AEndpoint BEndpoint C
  • そのような「フロー」ビジネスロジックをEndpointsそれ自体に組み込むことは、それらを結合し、SOA / ESB/EIPなどの基本原則のいくつかを打ち負かすようです。
4

2 に答える 2

10

内部的には、ラクダは各ノードがCamelエンドポイント/プロセッサであり、各エッジが2つのエンドポイント(送信元と宛先)間のルートである純粋なグラフを作成していると思います。このグラフはRouteBuilder、APIを呼び出したときに作成されているものとまったく同じです。Camelルートに移動するstart()と、グラフは検証され、実行する必要のある一連のに変換される可能性が高く、これらのを処理するためRunnableに何らかのカスタムExecutor管理またはスレッド管理を使用する可能性がありRunnableます。

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

于 2012-06-26T16:48:46.030 に答える
8

このQAを最初に読むことをお勧めしますApacheCamel とは正確には何ですか? ...そしてそれが参照するリンク、ApacheCamelに関するもう少しの背景。

ビジネスロジックは、Java Bean(POJO)などの任意の種類のロジックにすることができます。また、Camelを使用すると、ビジネスロジックに疎結合でアクセスできます。たとえば、これらのリンクを参照してください

于 2012-06-19T03:54:04.970 に答える