![](/img/trans.png)
[英]Apache Camel route definition in Spring XML and run with SpringBoot
[英]Apache Camel Context Remove Route Definition methods
作為我的項目要求的一部分,我正在瀏覽Apache Camel Docs,以便在更新之前從camel上下文中刪除路由。
在這里,我對removeRouteDefinition感到困惑,它刪除了CamelContext中的路由定義 - 停止任何以前運行的路由和removeRoute , stopRoute ,它執行與前者相同的工作。
這些方法之間究竟有什么區別?
主要區別在於, CamelContext#removeRouteDefinition
正常停止路由,然后將其從Context
刪除。
CamelContext#removeRoute
方法只能刪除已停止的路由。 如果您嘗試刪除正在運行的路由,則該方法返回false並且沒有任何反應。
所以這兩個片段是等價的:
removeRouteDefinition
getContext().removeRouteDefinition(getContext().getRouteDefinition("routeId"));
removeRoute
getContext().stopRoute("routeId");
getContext().removeRoute("routeId");
正如您從文檔中看到的那樣
void removeRouteDefinition(RouteDefinition routeDefinition)
將RouteDefinition對象作為參數。 在哪里
boolean removeRoute(String routeId) throws Exception
采取routeId。
另外一個重要的事情是不推薦使用removeRouteDefinition
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.