2015-09-28 122 views
0

我對Apache Camel非常陌生,如果有人能夠提供我可以用來解決特定任務的駱駝組件,我將非常感激。 我有一個簡單的REST WS。這項服務對觀衆不可訪問。 這個想法是在用戶請求和端點服務之間​​建立中間層。 所以我必須捕捉用戶的請求,對它進行一些操作,發送給受限制的WS並給用戶一個響應。 我剛開始學習apache camel,問題是實現這個邏輯的最好方法是什麼。 Thx提前!以Apache Camel開頭

回答

0

坦率地說,Camel並不是實現Web控制器的正確框架。當然,還有Camel Rest Module,但它將框架的責任擴展得太遠了。

我推薦使用更適應框架來實現WS,例如, SpringJersey,並從請求處理程序以編程方式調用Camel端點。在Spring中,觸發駱駝終點是很容易,因爲CamelContext可以得到自動連接到網絡控制器:

camelContext.createProducerTemplate().sendBodyAndHeader("direct:myEndpoint", null, "id", id); 

爲了您的駱駝根這種方法意味着,它開始具有一個Direct endpoint,然後轉發到Camel http端點,如果需要轉發來自HTTP調用一些的Spring bean轉換步驟的輸出,最終傳遞迴web控制器的處理方法之前:

<route> 
     <from uri="direct:myEndpoint"/> 
     <to uri="http:somehost.com"/> 
     <transform> 
      <method ref="springBean" method="doSomeTransformation"/> 
     </transform> 
    </route> 
0

那麼有您可以使用此任務幾個駱駝組成部分。將駱駝想象成一個工具箱,您可以從多個工具中選擇一個進行相同任務。

您可以使用:

示例使用Java DSL:

from("jetty://http://localhost:7070/test").to("jetty://http://localhost:7070/test1"); 

例使用藍圖

<route> 
    <from uri="jetty://http://localhost:7070/test"/> 
    <to uri="jetty://http://localhost:7070/test1"/> 
<route> 
+0

WHIS這是得到一個downvote? –