如何使用单个路由构建器映射2个以不同方式编组和解组的服务?

时间:2015-11-02 23:20:23

标签: java xml design-patterns jaxb apache-camel

我有2个服务(现在,让我们假设服务A和B)。服务A使用遗留代码,并在处理器中以不同方式编组和解组。服务B使用最新的代码(JaxB Binding)并以不同方式编组。目前,我编写了一个Routebuilder,它根据标题映射到适当的服务(使用选择操作:如果header = X,则映射到处理器A)。但是,服务A仍然使用旧处理器来执行编组和解组。有没有办法告诉骆驼根据服务编组或解组的方式路由到特定服务。如果您需要更多说明,请告诉我。

谢谢, Gautham

1 个答案:

答案 0 :(得分:1)

嗯,首先想到的问题是,为什么要根据具体实施细节进行路由?如果更改编组,则还需要更改路由逻辑。将映射拆分为单独的路由会更容易,因此服务A存在于路由A中,服务B存在于路由B中。然后,您只需根据标头或其他信息路由到路由A或路由B.这样,如果您在将来更改编组或其他任何其他操作,则无需更改路由逻辑。