0

Switchyard は私にとって初めてのことで、どこを見ればよいかかなり迷っています。ESBで接続された2つのサービスがあります。送信者から、データを含む単純なクラスを送信します。クラスのタイプに基づいて、レシーバー側で何をすべきかを決定します。したがって、クラスのタイプはアクションになり、そのクラスのデータはそのアクションの値として使用されます。

たとえば、新しい顧客を作成したい場合、次のようなバスに送信します。

class CreateCustomerMessage{
  public String fName;
  public String lName;
  public Int age;
}

受信者はメッセージを受け取り、顧客を作成する必要があることを確認し、このメッセージをにルーティングします

class CustomerOperationsBean{
  public Long createCustomer(CreateCustomerMessage message){...}
}

そして、この顧客を作成します。誰かがそれを行う方法を教えてもらえますか?

4

1 に答える 1

0

だから、ここで私が見つけたもの。CamelService がある場合 (私は Java ルーティング構成を使用します)、次のような構造を使用して着信メッセージ クラスと照合できます。

public void configure() {
 from("switchyard://QueueConsumerService")
        .choice()
                .when(body(InventoryRequest.class))
                    .log("Received Inventory message : ${body}")
                    .to("some_endpoint")
                .when(body(AuditRequest.class))
                    .log("Audit request : ${body}");
                    .to("some_other_endpoint")
}

以上です。 ここのsome_endpointsome_other_endpointは、任意のエンドポイント、Java クラス、または別の Camel ルーターにすることができます。GL HF。

于 2015-08-13T10:54:56.450 に答える