2014-01-05 80 views
2

我被困在apache camel,cxf web服務和osgi bundle在apache servicemix中混合的以下場景中。apache駱駝,cxf web服務和osgi bundle在servicemix(v4.5.3)中的場景

場景:

我已經部署在Tomcat中彈簧的Web應用程序(WA1)。在同一臺機器上,我運行了servicemix。在servicemix中,我已經在servicemix中使用apache cxf部署了其他Web服務(ws1),還部署了一個bundle(b1)。我想要的是從spring web應用(帶有URL中的append參數)中獲取web服務(ws1),在web服務(ws1)獲取請求後,從URL獲取參數並將其發送到另一個bundle(即B1)。

我到目前爲止所做的是:實現的Web服務,捆綁和部署兩者。我每一件事都得到了URL的參數。

現在,我的查詢是如何將參數從web服務發送到捆綁。爲此,我認爲apache駱駝是最好的候選人。所以,我需要一些指導,我應該使用apache駱駝。

eg: from("ws1 with parameter").to("send this parameters to bundle(b1)"). 

如何實現這個,我應該使用什麼組件,端點?請幫幫我。 而且,這是正確的做法,我跟隨?

+0

等待一些專家評論 – ved

+0

請指導我.. ,並隨時要求任何查詢 – ved

回答

2

正如你已經注意到的,你應該選擇適當的組件來完成工作:)。在你的場景中(同一個虛擬機 - Servicemix和OSGi包),我想推薦使用Direct VM。駱駝的文檔解釋得很清楚:

這個組件還允許連接部署在不同的 OSGI Bundle中的路由,如下圖所示。即使它們在 不同的捆綁包中運行,駱駝路線也將使用相同的線程

您也可以在文檔中找到示例。

直接虛擬機組件是相當簡單的(所以速度也非常快),所以您將來可能需要更高級的軟件包間通信方式。例如,很多人使用JMS。無論如何,Direct VM在很多情況下都是這樣的:)。

羅伯特

+0

感謝您的支持。讓我檢查一下。 – ved

+0

不錯的建議,我以前沒有用過direct-vm。否則,您可以使用某種類型的JMS/MQ,或者甚至可以使用zookeeper或hazelcast等配置組件。 – vikingsteve

+0

請注意,direct-vm也很快,因爲它基於Java中實現的簡單聚合。 –

相關問題