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

How do I map 2 services that are marshalled and unmarshalled differently using one single routebuilder?

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

谢谢, 高瑟姆

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