When I remove a route through "camelContext.removeRouteDefinition(id)"
method, the route still do the message delivery sometimes. Is it caused by
the second route you mentioned as EventDrivenConsumerRoute? 


Claus Ibsen-2 wrote:
> 
> On Fri, Jun 26, 2009 at 10:57 AM, alloyer<allo...@gmail.com> wrote:
>>
>> I see RouteDefinition uses List<FromDefinition> and
>> List<ProcessorDefinition>
>> as inputs and outputs to maintain the message endpoints. It seems a route
>> can handle several message flows, like:
>>      from("direct:a").to("mock:results")
>>      from("direct:b").to("mock:results")
>>  But in my test case, when I set a route configuration which contains the
>> above two line of routes, the route builder will separate this
>> configuration
>> into two RouteDefinition instance.
>>
>> Route configuration form:
>> http://www.nabble.com/file/p24217052/routeDefinitionForm.jpg
>> routeDefinitionForm.jpg
>> Routes generated:
>> http://www.nabble.com/file/p24217052/routes.jpg routes.jpg
>>
>>  Does the RouteDefinition always maintain only one sentence like
>> "from().to()" ? If not, how does it distinguish the <from,to> pairs?
> It uses a magic wand :)
> 
> No kidding.
> 
> You have defined in your route builder that you have 2 routes. As
> there a 2 from() in the DSL.
> 
> If you want multiple inputs to the same route you can do that as well
> and have 1 route
> from("direct:a", "direct:b").to("mock:results");
> 
> Then there is only 1 from in the DSL and thus only 1 route, but it has
> multiple inputs.
> That is not so common as most users either dont know this or usually
> use 1 input.
> 
> This applies for the model, eg the RoutesDefinition.
> 
> But at runtime Camel will generate a new route per. input, regardless
> if there is only 1 route model. So in this case no matter how we
> define the route model
> Camel will at runtime generate 2 x runtime rutes. It does this as it
> wraps a route in the EventDrivenConsumerRoute as the starting point,
> eg the from("direct:a").
> 
> What might be better or something we can work on in the future is to
> allow Camel to detect this better and reuse the same runtime route
> for multiple EventDrivenConsumerRoute that was defined to use the same
> route model.
> 
> 
> 
> 
> 
>>
>>   Thanks
>> --
>> View this message in context:
>> http://www.nabble.com/Does-the-RouteDefinition-instance-contain-only-one-route--tp24217052p24217052.html
>> Sent from the Camel Development mailing list archive at Nabble.com.
>>
>>
> 
> 
> 
> -- 
> Claus Ibsen
> Apache Camel Committer
> 
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Does-the-RouteDefinition-instance-contain-only-one-route--tp24217052p24231568.html
Sent from the Camel Development mailing list archive at Nabble.com.

Reply via email to