2016-05-31 194 views
0

關於Apache Camel的一個小問題。 我有以下情況,我的服務器接收jms消息,然後轉換爲csv文件,然後插入數據庫。 爲此,我有2種豆:Apache Camel路由

  • xml2csv
  • insertDB

我使用路由,如:

<route id="route1" errorHandlerRef="myErrorHandler"> 
     <from uri="file://{someFolder1}} 
      ?... 
     <to uri="bean:xml2csv" /> 
     <log message="transformed to xml file" /> 
    </route> 

    <route id="route2" errorHandlerRef="myErrorHandler"> 
     <from uri="file://{{someFolder2}} 
      ?... 
     <to uri="direct:csvOnboardingChannel" /> 
    </route> 

    <route id="csvOnboarding" errorHandlerRef="myErrorHandler"> 
     <from uri="direct:csvOnboardingChannel" /> 
     <to uri="bean:insertDB" /> 
    </route> 

當 「路線」 從到了一個文件,它像消息一樣移動?或者提出不同的問題,Apache Camel是否需要一個文件,將其包裝爲一條消息並將其路由到一個bean或一個組件?

我是否理解正確或存在錯誤的定向。

回答

0

是的,你的理解是正確的。駱駝讀取文件的數據並通過路由將其作爲消息發送給bean。也可能是一條簡單的路線,就像這樣:

<route id="route1" errorHandlerRef="myErrorHandler"> 
    <from uri="file://{someFolder1}}"> 
     <to uri="bean:xml2csv" /> 
     <to uri="bean:insertDB" /> 
</route> 
+0

謝謝澄清。 – brakebg