0

Switchyard对我来说是新事物,我很迷失在哪里看。我有两个由 ESB 连接的服务。从发件人我发送带有数据的简单类。根据课程类型,我希望接收方决定要做什么。因此类的类型将是动作,并且该类中的数据将用作该动作的值。

例如,如果我想创建新客户,我发送到总线是这样的:

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 高频

于 2015-08-13T10:54:56.450 回答