1

そこで、ActiveMQに別の場所からメッセージを受信させました。今朝ここでハッピーダンスが行われます。

メッセージがキューに到着したら、次の手順を実行する必要があります。

具体的には、ファイル名に応じて、別のキューに送信するか、発生する可能性がある場合は別のプロセスに直接送信する必要があります。

たとえば、裁判所のセッションへの変更に関する情報を含む1つのファイルが送信されます。そのXMLを読んで、いくつかのローカルMySQLテーブルを更新する必要があります。法廷セッションのプロセスはWebサービスでしょうか?理想的には、ファイルをそのサービスに渡すだけです。

取り消されたワラントに関する情報を含む別のファイルが送信されます。そのファイルから外部のOracleデータベースに保存されているプロシージャに情報を送信する必要があります。ファイル名から、ファイルの送信先となる次のプロセスがわかります。

だから、私はキューに送信されているファイルの追加処理を設定することが私の最善の行動方針についての提案を探していますか?

本当にありがとう!!!ところで-私たちはすでに「ActiveMQinAction」と「CamelinAction」を注文しており、それらを読んでいますが、今のところ、特定の初心者向けガイダンスをいただければ幸いです。

レスリー

4

1 に答える 1

2

キャメルのコンテンツベースのルーターはあなたが探しているものです。メッセージ本文/ヘッダー/プロパティに基づいてルーティングルールを設定できます...

これは、インバウンドキューから読み取り、ヘッダーに基づいて他のキューに単純に委任する基本的な例です...

   from("activemq:queue:inboundQueue")
        .choice()
            .when(header("foo").isEqualTo("bar"))
                .to("activemq:queue:barQueue")
            .when(header("foo").isEqualTo("cheese"))
                .to("activemq:queue:cheeseQueue")
            .otherwise()
                .to("activemq:queue:generalQueue");

メッセージヘッダーのチェックに加えて、本文とプロパティをチェックして(単純な式、xpathなどを使用して)、適切なルーティングなどを決定することもできます。

于 2012-04-06T15:21:40.513 に答える