2017-03-28 3 views
0

Ich muss eine Camel-Route schreiben, die eine Datei an einen Webdienst senden würde. Bevor ich die Datei an den Endpunkt sende, muss ich eine Datenbank nach einigen Informationen abfragen und die Datei zusammen mit zusätzlichen Informationen an den Endpunkt senden. Ich müsste auch die Datei in ein anderes Verzeichnis verschieben, nachdem die gesamte Route abgeschlossen wurde. Ich konnte die einzelnen Teile der Route selbstständig erstellen. Ich wollte wissen, wie ich das auf einer einzigen Route machen könnte.Camel Route mit Zwischenverarbeitung

Antwort

0

Es ist Ihre Entwurfsentscheidung, wie man das macht. Sie können Ihre individuellen Teile als Unterstrecken haben (das ist mein bevorzugter Weg).

Es macht Weg funktionaler strukturiert und zumindest besser lesbar. Dann können Sie Ihre Nachricht (Datei) nacheinander oder parallel mit multicast Komponente übergeben.

in XML-DSL wird es wie folgt aussehen:

<route id="main-route"> 
    <from uri="..." /> 
    <!-- DB processing --> 
    <to uri="direct:db-route-endpoint"/> 
    <multicast parallelProcessing="false"> 
    <!-- No parallel processing: file will be stored after Web Service call completed 
     or for parallel parallelProcessing="true" -->" 
     <to uri="...web service endpoint... "/> 
     <to uri="direct:store-file-endpoint"/> 
    </multicast> 
</route> 

<route id="db-route"> 
    <from uri="direct:db-route-endpoint" /> 
    ... DB processing ... 
</route> 

<route id="store-file-route"> 
    <from uri="direct:store-file-endpoint" /> 
    ... save file to another directory ... 
</route> 
Verwandte Themen