[
https://issues.apache.org/jira/browse/CAMEL-4790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13171718#comment-13171718
]
Willem Jiang commented on CAMEL-4790:
-------------------------------------
Hi Christian
I was planing to send a mail for the second unit test but it takes me too much
time to merge the patch due to the network issue.
Here is my explanation for it, because Camel is using the RouteService to
delegate the life cycle invocation, it is also in charge of do some clean up
work with the CamelContext. If you just stop the route directly without through
the CamelContext API, you will face a issue that the RouteService can not has
the same status of the Route.
So my suggestion is you should use the CamelContext API instead of stop the
route directly.
We should consider not expose the Route itself to client to use in Camel 3.0.
> Using the CamelContext.stopRoute(routeId) should not remove the route from
> context
> ----------------------------------------------------------------------------------
>
> Key: CAMEL-4790
> URL: https://issues.apache.org/jira/browse/CAMEL-4790
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.8.3
> Reporter: Willem Jiang
> Assignee: Willem Jiang
> Fix For: 2.8.4, 2.9.0
>
>
> Christian reported a camel route stop issue few months ago[1], I found this
> bug by running the unit test he submit.
> {code}
> public class RouteRemoveTest extends ContextTestSupport {
>
> + public void testStopRouteOnContext() throws Exception {
> + assertEquals(ServiceStatus.Started, ((DefaultRoute)
> context.getRoute("foo")).getStatus());
> + assertEquals(ServiceStatus.Started, context.getRouteStatus("foo"));
> +
> + context.stopRoute("foo");
> +
> + assertEquals(ServiceStatus.Stopped, ((DefaultRoute)
> context.getRoute("foo")).getStatus());
> + assertEquals(ServiceStatus.Stopped, context.getRouteStatus("foo"));
> + }
> {code}
> The route foo should not be removed from the camelContext.
> [1]
> http://camel.465427.n5.nabble.com/Stop-a-route-for-unit-testing-tt4724550.html#a5011082
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira