[ https://issues.apache.org/activemq/browse/CAMEL-3001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60984#action_60984 ]
Claus Ibsen commented on CAMEL-3001: ------------------------------------ trunk: 980370. Committed suspend/resume to CamelContext to be used for hot restarts. > 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.