camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From unmarshall <>
Subject Re: Camel routes as graphs
Date Fri, 21 Jan 2011 06:07:21 GMT

Hi Hadrian,

Considering that a route is represented as a directed graph then consider a
complex scenario where the route consists of multiple splits and mappings
processors as part of the route. Splits might cause creation of sub-routes
where the control can branch to from the parent route. 

Now consider that there is a split just before the final set of endpoints.
The delivery of messages to these endpoints is asynchronous. If an error
occurs in delivery to one of the branches and if the route is transacted
then there is a need to introduce IdempotentConsumer which would use an

If the route receives thousands of messages per second then in that case
would the IdempotentConsumer approach not be costly? 

Another way would be to trace the different active route where the message
flows in a stack and then only unwound the stack for the route where the
problem was and replay only that route in the graph. That removes the need
for an idempotent consumer.

Now if the route is not represented as a graph this traversal becomes a

Best Regards,

hadrian wrote:
> Yes, routes in camel are directed graphs, trees most of the time. Not sure
> what you saw that indicates otherwise.
> Cheers,
> Hadrian
> On Jan 20, 2011, at 3:36 PM, unmarshall wrote:
>> Hi,
>> Are routes in camel represented as graphs? When i see the class
>> DefaultCamelContext then i do not find any indication for the same.
>> If this is right then what was the reason for not representing the routes
>> as
>> graphs?
>> Best Regards,
>> Madhav
>> -- 
>> View this message in context:
>> Sent from the Camel - Users mailing list archive at

View this message in context:
Sent from the Camel - Users mailing list archive at

View raw message