编程语言
首页 > 编程语言> > java-Apache Camel上下文删除路由定义方法

java-Apache Camel上下文删除路由定义方法

作者:互联网

作为项目要求的一部分,我正在经历Apache Camel Docs,以便在更新之前从骆驼上下文中删除路线.

在这里,我与removeRouteDefinition混淆,后者从CamelContext中删除了路由定义-停止了所有先前运行的路由,而removeRoutestopRoute的工作与前者相同.

这些方法之间到底有什么区别?

解决方法:

主要区别在于CamelContext#removeRouteDefinition会正常停止路由,然后将其从Context中删除.

方法CamelContext#removeRoute只能删除停止的路由.如果您尝试删除正在运行的路由,则该方法返回false,并且什么也没有发生.

因此,这两个片段是等效的:

removeRouteDefinition

getContext().removeRouteDefinition(getContext().getRouteDefinition("routeId"));

removeRoute

getContext().stopRoute("routeId");
getContext().removeRoute("routeId");

标签:apache-camel,java
来源: https://codeday.me/bug/20191108/2010092.html