Apache Camel message format
我刚开始使用一个使用ApacheCamel2.15.3的应用程序。我对camel是个新手,我试图理解消息是如何发送的,以及在一个路由中的组件之间是什么样子的。
应用程序中的路由是使用Spring扩展XML设置的。下面是一个例子,说明其中一条路线的外观。
1 2 3 4 5 6 7 8 9 10 11 12 13 | <route id="register"> <from uri="{{in.queue}}"/> <enrich uri="direct:getSequenceNumber" strategyRef="sequenceNumb"/> <to uri="bean:extractor"/> <to uri="bean:mover"/> <to uri="bean:normalizer"/> <to uri="bean:logger"/> <to uri="bean:packager"/> <split parallelProcessing="true"> <simple>${body}</simple> <to uri="{{out.queue}}"/> </split> </route> |
首先是一个简短的术语问题:这个例子中的中间bean叫什么?Endpoints?组件?或者别的什么?现在我把它们叫做组件。
我现在主要的困惑是理解什么得到输入,什么从一个组件传递到下一个组件。在这种情况下,所有组件都是带有一个公共方法的JavaBean。方法有时具有void返回类型,有时返回一些对象。例如,字符串、列表、camel消息对象、不实现任何类型camel接口的项目自定义对象。有时返回类与以下bean的参数匹配,有时不匹配。
我不明白返回和输入组件的限制是什么,并且一旦进入bean,就能够读取和预测消息的外观。
我已经阅读了骆驼网站上的一些文档,我的谷歌没有发现任何有用的东西。
是否有人对要搜索的内容有解释或提示,或者有指向某个地方的链接来解释正在发生的事情?
我建议阅读行动手册中骆驼的第1章(自由章节),它涵盖了骆驼架构的所有重要概念,以及骆驼中的信息外观。
- https://www.manning.com/books/camel-in-action-second-edition/第二版