0

Camel、Spring、および ActiveMQ を使用して、要求と応答のパターンを実装しようとしています。私がする必要があるのは、CSV ファイルを 1 行ずつ読み取ることです。次に、すべての行について:

  1. CSV の行の値に基づいてリクエストを作成する
  2. リクエストをキューに送信する
  3. 他のコンポーネントは、メッセージを取得し、リクエストを処理して、応答を別のメッセージ キューに送信する必要があります (プロデューサーに認識されているため、プロデューサーは応答を取得できます)。

以下のコードが機能しました。ここで、プロセッサで応答を作成するとしましょう。

私の質問は次のとおりです。

  1. どうすれば返信を返すことができますか?
  2. 応答を消費するにはどうすればよいですか?

public class MyRouteBuilder extends RouteBuilder {

    public static void main(String[] args) throws Exception {
        new Main().run(args);
    }

    public void configure() {
        from("file:/Users/aviad/ws/integ/src/data?fileName=lines.txt&noop=true&idempotent=true")
        .split()
        .tokenize("\\n")
        .inOut("activemq:req");

        from("activemq:req")
        .process(new Processor() {
            public void process(Exchange exchange) throws Exception {
                System.out.println(exchange.getIn().getBody(String.class));
                System.out.println("jmscorrelationid=" + exchange.getIn().getHeader("jmscorrelationid"));
                System.out.println("jmsdestination=" + exchange.getIn().getHeader("jmsdestination"));
            }
        });
    }
}
4

1 に答える 1