Search code examples
apache-camelmessage-queueenterprise-integration

Apache Camel message format


I have just started working with an application that uses Apache Camel 2.15.3. I am new to Camel and I am trying to understand how the message gets sent and what it looks like between components in a route.

Routes in the application is set up using the spring extension xml. Here is an examlpe of how one of the routes might look like.

    <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>

First a short terminology question: what are the intermediate beans in this exemples called? Endpoints? Components? Or something else? Right now I'm calling them components.

My main confusion right now is to understand what gets input and what gets passed on from one component to the next. In this case all of the components are javabeans with one public method. The method sometime have void return type and sometimes returns some object. For example String, List, a camel Message-object, a project custom object that does not implement any kind of camel interface. Sometimes the return class matches the argument of the following bean and sometimes it doesn't.

I wan't to understand what are the limitations on what is returned and input to the components and be able to read and predict what the message will look like once inside a bean.

I have read through some of the documentation on the Camel website and my googling has not turned up anything helpful.

Does someone have an explanation or hints on what to search for or a link to some place that explains what is going on?


Solution

  • I suggest to read chapter 1 (free chapter) of the Camel in Action book - it covers all the important Camel concepts of its architecture and how a message looks like in Camel