Endpoints are recreated instead or restarted
--------------------------------------------

                 Key: CAMEL-3001
                 URL: https://issues.apache.org/activemq/browse/CAMEL-3001
             Project: Apache Camel
          Issue Type: Bug
          Components: camel-core
            Reporter: William Tam
             Fix For: 2.5.0


The change (r979549) made by CAMEL-2991 causes every single endpoint to be 
recreated instead of restarted which takes Camel a (quite big) step back.  It 
is bad for the following reasons:

1) recreating services associated could be expensive (the design should not 
assume recreating the services is cheap).
2) states (if any) in Endpoint/Service could not be preserved (stop does not 
mean destroy after all).   
3) it is unnecessary to recreate to the whole shebank and it is an unexpected 
behavior for the users.  (Users think stop but it is gone.)

In the code (DefaultCamelContext.doStartCamel()), one can clearly see the 
original intent of the author (who even bothered to put in a nice comment) is 
to avoid re-initialization the route definition after stopping the camel 
context.  (Well, things may change but not necessarily for the better.)

{code}
       // To avoid initiating the routeDefinitions after stopping the camel 
context
        if (!routeDefinitionInitiated) {
            startRouteDefinitions(routeDefinitions);
            routeDefinitionInitiated = true;
        }
{code}

But, the change simply reset the routeDefinitionInitiated flag in doStop() 
which is the exact opposite of the original intention and 
routeDefinitionInitiated is unless pretty much.  :-( 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to