camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <j...@apache.org>
Subject [jira] Assigned: (CAMEL-3001) Endpoints are recreated instead or restarted
Date Wed, 28 Jul 2010 14:04:52 GMT

     [ https://issues.apache.org/activemq/browse/CAMEL-3001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Claus Ibsen reassigned CAMEL-3001:
----------------------------------

    Assignee: Claus Ibsen

> 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
>            Assignee: Claus Ibsen
>             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.


Mime
View raw message