2013-03-06 79 views
3

是否有可能以動態方式從端點變化? 比如我要改變動態變化端點駝峯

for(endpointFirst).routeId(ROUTEID).to(finishEndpoint); 

for(endpointSecond).routeId(ROUTEID).to(finishEndpoint); 

我嘗試使用

camelContext.stopRoute(TestRoute.ROUTEID); 

變老端點到新的端點

camelContext.startRoute(TestRoute.ROUTEID); 

,但我的努力不能正常工作。

感謝您的幫助

回答

6

您將需要

  1. 停止路線
  2. 刪除路線
  3. 變化端點
  4. 添加路由
  5. 啓動路線

這可以讓你從終端改變到任何你想要的(例如其他)

某些組件/端點允許更改opti有一些在運行時更新。例如,JMS端點允許這一點,所以你可以

  1. 停止路線
  2. 變化對JMS端點
  3. 一個選項啓動路線

但可能會出現哪些不能某些組件去做。

1

改變from終點,你可以通過動態的環境API添加/刪除路由或改變航線的克勞斯建議

改變目的地端點,使用recipient list EIP和一個表達式來動態確定基於郵件標題,變量,方法等方面的終點......

from("direct:a") 
    .recipientList(header("foo")); 
+0

我知道模式recipientList,但我想更改第一個端點 - 從,所以萬一我不能使用recipientList。 – przodownikPracy 2013-03-07 06:37:04