2016-05-31 196 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