作为我的项目要求的一部分,我正在浏览Apache Camel Docs,以便在更新之前从骆驼上下文中删除路由。
在这里,我对removeRouteDefinition感到困惑,它从 CamelContext 中删除了一个路由定义 - 停止任何以前运行的路由和removeRoute,stopRoute与以前的工作相同。
这些方法之间究竟有什么区别?
主要区别在于,CamelContext#removeRouteDefinition优雅地停止路由,然后将其从Context.
该方法CamelContext#removeRoute只能删除停止的路由。如果您尝试删除正在运行的路线,该方法将返回 false 并且没有任何反应。
所以这两个片段是等价的:
删除路由定义
getContext().removeRouteDefinition(getContext().getRouteDefinition("routeId"));
Run Code Online (Sandbox Code Playgroud)
删除路由
getContext().stopRoute("routeId");
getContext().removeRoute("routeId");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1834 次 |
| 最近记录: |