开关站。如何在Reciever Service中路由消息?

时间:2015-08-07 08:42:58

标签: java switchyard

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

例如,如果我想创建新的客户,我发送到这样的公共汽车:

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

接收者获取消息,看到他必须创建客户并将此消息路由到

{{1}}

创造这个客户。 请有人告诉我该怎么做?

1 个答案:

答案 0 :(得分: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_endpoint some_other_endpoint 可以是任何端点,java类或其他Camel路由器。 gl hf。