簡體   English   中英

Apache Camel Context刪除路由定義方法

[英]Apache Camel Context Remove Route Definition methods

作為我的項目要求的一部分,我正在瀏覽Apache Camel Docs,以便在更新之前從camel上下文中刪除路由。

在這里,我對removeRouteDefinition感到困惑,它刪除了CamelContext中的路由定義 - 停止任何以前運行的路由和removeRoutestopRoute ,它執行與前者相同的工作。

這些方法之間究竟有什么區別?

主要區別在於, 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM