Spring Integration, Datei löschen im outbound-channel-adapter
Bin ich mit Spring-Integration-Umfrage ein Verzeichnis für eine Datei, ein Prozess diese Datei in eine service-Klasse, schreiben Sie diese Datei, um eine Ausgabe-Verzeichnis und löschen Sie dann die ursprüngliche Datei.
Ich habe die folgende XML-Konfiguration:
<int-file:inbound-channel-adapter id="filesInChannel"
directory="file:${java.io.tmpdir}/input"
auto-create-directory="true" >
<int:poller id="poller" fixed-delay="1000" />
</int-file:inbound-channel-adapter>
<int:service-activator id="servicActivator"
input-channel="filesInChannel"
output-channel="filesOut"
ref="my_file_processing_service">
</int:service-activator>
<int-file:outbound-channel-adapter id="filesOut" auto-create-directory="true" delete-source-files="true" directory="file:${java.io.tmpdir}/output"/>
Diese Umfragen die Datei, geht es um meine processing_service und kopiert es in das ausgehende Verzeichnis. Aber die ursprüngliche Datei wird nicht gelöscht. Hat jemand eine Idee warum nicht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß, die Frage wurde vor langer Zeit, aber vielleicht ist die Antwort für jemanden nützlich sein.
Der Grund, warum die input-Datei wird nicht gelöscht sind, ist in der Spring-Integration-Referenz:
Ihre Nachricht nicht enthalten, diese Besondere header. Wenn Sie verwenden Sie eine der standard-Datei-Transformatoren (
FileToStringTransformer
undFileToByteArrayTransformer
) es wird automatisch gesetzt. Alternativ können Sie ihn manuell mit einem header-enricher.Hinter den kulissen so etwas wie dieses geschieht in der Datei Transformatoren:
Aus der Dokumentation http://static.springsource.org/spring-integration/reference/html/files.html
Ich weiß nicht, wie dies zu tun auf dem inbound-Kanal-adapter(was ich denke Sinn macht)