java-Apache Camel上下文删除路由定义方法
作者:互联网
作为项目要求的一部分,我正在经历Apache Camel Docs,以便在更新之前从骆驼上下文中删除路线.
在这里,我与removeRouteDefinition混淆,后者从CamelContext中删除了路由定义-停止了所有先前运行的路由,而removeRoute、stopRoute的工作与前者相同.
这些方法之间到底有什么区别?
解决方法:
主要区别在于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