经过长时间的研究,我仍然没有可以接受的解决方案。
打算: 我正在尝试使用多个端点/组件来生成具有专有内容的交换。 (图片中的第一行第一列)
因此,应该使用规范化器/转换器对交换进行规范化(图片中的第一行第二列)
最后,应处理此归一化数据。 (保存到数据库,进行了一些汇总,计算了一些结果)。
生成结果后,应生成一个全新的交换并将其填充到路由中,此处理器位于“ from”语句中。 (第二行)->数据应转换为专有数据->发送至端点
问题和初步发现
不能直接在“ from”语句中找到处理器。一世 仅以“来自”的方式找到了一些解决方法 (direct:somemessages)”由处理器在处理器中创建 to(direct:somemessages)
处理器可以是带有端点的组件程序。 异步消息可以与 相应的消费者
路线进入示例(第一行)
<route id="bar">
<from uri="mqtt"/>
<to uri="TranslateMQTT2MyModel"/>
<to uri="ProcessData"/>
</route>
示例路由出站(我想要)(第二行)
<route id="out">
<from uri="ProcessData"/>
<to uri="TranslateMyModel2MQTT"/>
<to uri="mqtt"/>
</route>
那么我如何实现自己的目标?我的两个结果之一是好的解决方案吗?
答案 0 :(得分:0)
您可以编写一个使用方的“ ProcessData”组件,但我认为您不需要这样做。
我认为您可以使用SEDA组件的异步功能,所以我想寻找的是这样的东西:
tolist
SEDA组件的工作方式与您所描述的直接类似,但是直接是同步的,而SEDA是异步的。 (如果需要在具有相同JVM的Camel上下文之间进行链接,请注意VM和Direct-VM组件。)