2014-05-17 59 views
0

Im開發非OSGI應用程序,我需要更新駱駝路線中使用的一些屬性的值(加載BridgePropertyPlaceHolder)。 所以我想:如何從外部更新駱駝屬性?

  • 要使用JMX

  • 創建的JMX MBean將更新的屬性使用Hawtio,涼爽的管理CHINESE控制檯,以便更新駱駝..

我成功地創建了MBean操作並使用JMX調用它們,但我無法弄清楚如何更新依賴於這些屬性的駱駝路由。

有沒有辦法從外部更新駱駝上下文?

更新: 爲例的用例:當遠程服務器不響應返回,我們繼續,直到我們達到不成功嘗試的最大發送的郵件(無ACK)。在駱駝我們創建一個基於從文件系統加載的屬性的路由器模式。 這個屬性偶爾會改變,我們希望在不重啓服務器的情況下做到這一點,但問題是,在啓動上下文時駝峯解析路由,我無法找到相應地更新路由的意思。


我爲能夠幫助任何建議感激:)

回答

0

如果您使用Camel錯誤處理重試(重新傳送),那麼您可以使用retryWhile繼續重試,直到您返回false。這使您可以使用Java代碼等,並允許您閱讀更新的配置選項。

看到更多細節在

如果你有駱駝的行動書副本,請參閱第152頁

0

你想要的屬性他們是dynamic.you可以將這些道具移動到一些數據庫並獲取他們時,你是reading.I認爲您的駱駝路線需要重新設計。

+0

我已經更新了我的問題,以澄清我的需要。 – user405458

0

更改from端點參數如URL等,下面的過程具有根據dynamic change endpoint camel使用:

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

如果to端點必須是可配置的,則可以使用recipient list組件。在這裏,您可以使用適當的Camel組件從數據庫和/或文件系統讀取屬性。