2016-05-31 19 views
0

Eine kurze Frage über Apache Camel. Ich habe das folgende Szenario, wo mein Server JMS-Nachrichten empfängt und dann in CSV-Datei transformieren und dann DB einfügen. Zu diesem Zweck habe ich 2 Bohnen:Apache Camel Routing

  • xml2csv
  • InsertDB

Ich benutze Routing wie:

<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> 

Wenn "Route" eine Datei von-bis, es ist wie eine Nachricht bewegen? Oder, wenn Sie die Frage anders stellen: Nimmt Apache Camel eine Datei, wickelt sie als Nachricht um und leitet sie an eine Bean oder eine Komponente weiter?

Verstehe ich es richtig oder bin in einer falschen direktion.

Antwort

0

Ja, Ihr Verständnis ist richtig. Camel liest die Daten der Datei ein und sendet sie als Nachricht über die Route an eine Bean. Könnte auch einfacher als eine einzige Route, wie folgt sein:

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

danke für die Klärung. – brakebg