Apache Camel 消息格式

Apache Camel message format

我刚刚开始使用 Apache Camel 2.15.3 的应用程序。我是 Camel 的新手,我正在尝试了解消息是如何发送的以及它在路由中的组件之间的样子。

应用程序中的路由是使用 spring 扩展 xml 设置的。这是其中一条路线的示例。

    <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 叫什么?端点?组件?或者是其他东西?现在我称它们为组件。

我现在的主要困惑是了解输入的内容以及从一个组件传递到下一个组件的内容。在这种情况下,所有组件都是具有一个 public 方法的 javabean。该方法有时具有 void return 类型,有时 returns 某些对象。例如String,List,一个camel Message-object,一个不实现任何类型的camel接口的项目自定义对象。有时 return class 匹配以下 bean 的参数,有时不匹配。

我不想了解 returned 和输入到组件的限制是什么,以及能够读取和预测消息在 bean 中后的样子。

我已经阅读了 Camel 网站上的一些文档,但我的谷歌搜索没有找到任何有用的信息。

是否有人对要搜索的内容有解释或提示,或者 link 到某个地方来解释正在发生的事情?

我建议阅读 Camel in Action 一书的第 1 章(免费章节)——它涵盖了其架构的所有重要 Camel 概念以及消息在 Camel 中的样子