其中包含两个MQ的Camel路由

时间:2016-07-20 02:16:34

标签: apache-camel

我有一个我用骆驼定义的流程,但我最终使用了6条路线来完成我想要的。有没有办法用一条或少于4条路线做到这一点?

我已经概述了以下路线。第一个从MQ1读取一条消息(包含一个ID),并根据它在数据库中为该ID找到的内容(此处未显示db)在MQ2中生成N消息(预计为数千个)。 MQ2中生成的消息定义了一个类型字段,并且基于该字段,选择元素过滤消息以将它们放入正确的MQ中。然后每个MQ(3,4,5)由它自己的处理器(ProcessorMQ3,4,5)处理。完成后,他们将处理结果输出到MQ6,ProcessorMQ6读取结果并更新数据库(也未显示)。

路线1:[开始] ---> [MQ1] ---> [ProcessorMQ1] ---> [MQ2]

路线2:[MQ2] ---> [选择] ---> [基于标题值的MQ3,MQ4,MQ5]

路线3:[MQ3] ---> [ProcessorMQ3] ---> [MQ6]

路线4:[MQ4] ---> [ProcessorMQ4] ---> [MQ6]

路线5:[MQ5] ---> [ProcessorMQ5] ---> [MQ6]

路线6:[MQ6] ---> [ProcessorMQ6] ---> [结束]

有没有办法使用一条路线做到这一点,还是我正确地做到了这一点?我需要再介绍10种"类型"所以MQ3-5的范围将增加10。

1 个答案:

答案 0 :(得分:1)

据我所知,您的路线设计现在看起来更好。为什么要最小化?它至少会使您的异常处理复杂化。

我总是喜欢创建功能上彼此独立的微路线,这样就可以更轻松地编写异常处理和生命周期。以更好的方式单元测试案例。 (即使它非常适合重构,将来如果你想将这些路由移动到它自己的部署单元)

是的,你是以正确的方式做到的!

干杯