2014-07-09 131 views
0

本質上,我想要考慮整條駱駝路線,以便我可以在開始和結束時抓取有效載荷。如何看待整條駱駝路線

現在,我知道我可以在中間主要「做」類,而不是將它從隊列中拉出並放到磁盤上。這對於一條簡單的路線來說很好,而不是有很多「做」類的路線。

但是,有沒有辦法將路線的起點和終點聯繫起來,而不必將其放入路線中?

我有很多路線,我想盡可能保持它們的清潔日誌代碼。

+0

看看這個http://stackoverflow.com/questions/23809040/camel-spring-osgi-is-there-a-way-to-specify-the-stop-method/23817812#23817812 – Namphibian

+0

我想你的意思是「建議」,而不是「方面」。你能顯示一段代碼嗎? –

回答

1

我認爲你有兩個選擇:

  1. 在每條路線的起點和終點添加竊聽。見http://camel.apache.org/wire-tap.html。這顯然意味着編輯路線,但很簡單,每條路線只有兩條線路。
  2. 使用RouteDefinition.adviceWith動態添加攔截器。見http://camel.apache.org/advicewith.html。我沒有看到這個測試在外部使用,但我看不出有什麼理由不能在實時代碼中使用它。
1

使用駱駝截取的可能性如上所述here

  • intercept截取每個處理步驟,而在路線的路由的交換。
  • interceptFrom攔截路由中傳入的Exchange。
  • interceptSendToEndpoint當Exchange即將發送到給定端點時截獲。

在你的情況下,第二和第三種可能性可能是有利的。