簡體   English   中英

Camel - 與現有應用程序集成

[英]Camel - Integrating with Existing Application

我目前正在開發一個不使用camel的交易應用程序。 它主要接受交易,進行一些處理並將細節發送到外部系統。

我們現在需要與3個新系統集成,使用2個系統的FTP和1個系統的JMS。

我想在我的應用程序中使用Camel進行這些集成。 我已經閱讀了很多駱駝行動,但我不知道如何開始我們的駱駝路線

從本質上講,我們不希望對現有應用程序的任何部分進行過於徹底的修改,因為它在生產中運行良好。

在現有的應用程序中,我們生成一個交易價值對象,並從該對象生成我想要啟動我們的駝峰集成。 我沒有數據庫表或jms隊列,我可以從中開始路由。

我快速瀏覽了Camel in Action一書中有關Bean路由和遠程處理的章節,但我希望在繼續執行任何步驟之前先讓人們提出建議。 這種集成的最佳方法是什么?

謝謝Damien

您可以使用Camel的POJO Producing功能,該功能允許您從java bean向camel端點發送消息。 如果您不需要JMS或DB,則可以使用“direct:”“seda:”“vm:”端點作為路徑的<from>部分。

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

“如果在Spring XML中定義bean或使用Spring組件掃描機制掃描並使用a或CamelBeanPostProcessor,那么我們會處理許多Camel注釋以執行各種操作,例如注入資源或生成,使用或路由消息。”

如果此方法會在應用程序中添加太多更改,則可以使用ProducerTemplate並僅調用直接端點。 (或SEDA就此而言)。

這里選擇協議可能很重要。 直接協議是一種安全的選擇,因為開銷只是一種方法調用。 此外,異常將通過直接端點傳播,事務也是如此。 由於SEDA端點是異步的(如JMS),但不具有持久性,因此在發生崩潰時,飛行數據可能會略微丟失。 這可能是也可能不是問題。 但是,在高負載情況下,SEDA協議會更好地進行,並使您的應用能夠更好地抵抗負載峰值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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