Meine Anforderung ist scheinbar unkompliziert. Ich muss ein einzelnes Verzeichnis abfragen und basierend auf dem Dateinamen der Eingabedatei, die ich brauche;Camel Route - Filter auf Dateiname und setze Header-Wert
a) Stellen Sie einen Header-Wert b) Richten Sie die Nachricht an eine bestimmte JMS-Warteschlange
ich ein paar verschiedene Möglichkeiten versucht haben, diese aber die followng sollte funktionieren .. offensichtlich für mich auf die Dokumentation acheive basiert es funktioniert nicht ...
<from uri="file:[some input directory]"/>
<when>
<simple>${file:name} contains 'new'</simple>
<setHeader headerName="messageType">
<constant>NEW</constant>
</setHeader>
<to uri="jmsbroker:queue:[queue for new items]"/>
</when>
<when>
<simple>${file:name} contains 'amend'</simple>
<setHeader headerName="messageType">
<constant>AMEND</constant>
</setHeader>
<to uri="jmsbroker:queue:[queue for amended items]"/>
</when>
<when>
<simple>${file:name} contains 'other'</simple>
<setHeader headerName="messageType">
<constant>OTHER</constant>
</setHeader>
<to uri="jmsbroker:queue:[queue for other]"/>
</when>
<otherwise>
<bean ref="deadLetterErrorHandler"/>
</otherwise>
</route>
Jede Hilfe sehr geschätzt.
Grüße, Andy