Apache Camel消息格式

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/第二版