2012-05-25 18 views
3

我目前正在使用不使用駱駝的交易應用程序。 它主要是進行交易,做一些處理並將細節發送到外部系統。駱駝 - 與現有應用程序集成

我們現在需要將3個新系統與2個系統的FTP和1個系統的JMS結合使用。

我想在我的應用程序中使用駱駝這些集成。我已經閱讀了大量的駱駝行動,但我不清楚我們如何才能開始我們的駱駝路線

從本質上講,我們不希望修改現有應用程序的任何部分,因爲它在生產中工作良好。

在現有的應用程序中,我們生成一個貿易價值對象及其來自這個對象,我想開始我們的駱駝整合。 我沒有數據庫表或jms隊列,我可以從中啓動路由。

我有一個快速瀏覽一下在行動書豆路由和遠程訪問一章中的駱駝,但我希望得到人民的第一建議任何步驟之前。 這種整合最好的方法是什麼?

感謝 達明

回答

4

您可以使用駱駝的POJO Producing功能,可以讓你將消息發送給從Java bean的駱駝端點。如果您不需要JMS或DB,則可以使用"direct:""seda:""vm:"端點作爲<from>部分路線。

+0

感謝您的回覆。你需要做任何額外的配置來獲取具有@Produce註解的bean嗎?我在那裏嘗試了一個測試,但我不能從豆的消息到路由 – Damien

+3

@Damo駱駝發行版中有一個示例項目(在這裏描述http://camel.apache.org/pojo-messaging-example.html) - 你可以在這裏看到一個配置示例 –

3

Pojo生產Konstantin V. Salikhov說。但是,您需要確保您有彈簧應用程序,並且正在用彈簧掃描您的豆子或將它們連接起來。

「如果bean在Spring XML中定義或使用Spring組件掃描機制掃描,並使用a或CamelBeanPostProcessor進行掃描,那麼我們將處理大量的Camel註釋以執行各種操作,例如注入資源或生成,使用或路由消息「。

如果這種方法在應用程序中添加太多的變化,你可以使用一個ProducerTemplate,只是調用直接端點。 (或SEDA)。

這裏協議的選擇可能很重要。直接協議是一個安全的選擇,因爲開銷只是一個方法調用。而且,異常會通過直接端點傳播良好,交易也會如此。由於SEDA端點是異步的(如JMS),但不具有持久性,因此在發生崩潰時,丟失飛行數據的可能性很小。這可能也可能不是問題。但是,在高負載情況下,SEDA協議更好地發揮作用,併爲您的應用提供更好的負載峯值阻抗。

+0

感謝您的迴應Petter ..它使很多感覺 – Damien

相關問題