Entpacken von Dateien mit Apache Camel?
Wie kann ich Dateien extrahieren (eine oder mehrere) aus einer zip-Datei mit Apache Camel? Ist es möglich?
Ich versuche diese
from("file:/home/myinputzip?noop=true&delay=5000&moveFailed=error")
.split(new ZipSplitter())
.streaming().convertBodyTo(String.class)
.to("file:/home/myinputzip")
.end();
Wenn ich die Anwendung starten, die Datei wird extrahiert aus der zip, aber Kamel löst eine Ausnahme aus, und die Datei wird verschoben, um Fehler Ordner:
FEHLER: org.apache.camel.Prozessor.DefaultErrorHandler - Failed
Lieferung für (MessageId: ID-ubuntu-35217-1377806407437-0-5 auf
ExchangeId: ID-ubuntu-35217-1377806407437-0-7). Erschöpft nach
Zustellversuch: 1 gefangen:
org.apache.camel.Komponente.Datei.GenericFileOperationFailedException:
Kann nicht schreiben, null Körper in eine Datei:
/home/myinputzip/aVIII_crrpfp201304.cap
org.apache.camel.Komponente.Datei.GenericFileOperationFailedException:
Kann nicht schreiben, null Körper in eine Datei:
/home/myinputzip/aVIII_crrpfp201304.Kappe auf
org.apache.camel.Komponente.Datei.FileOperations.storeFile(FileOperations.java:194)
bei
org.apache.camel.Komponente.Datei.GenericFileProducer.writeFile(GenericFileProducer.java:257)
bei
org.apache.camel.Komponente.Datei.GenericFileProducer.processExchange(GenericFileProducer.java:159)
bei
org.apache.camel.Komponente.Datei.GenericFileProducer.Prozess(GenericFileProducer.java:80)
bei
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
bei
org.apache.camel.util.AsyncProcessorHelper.Prozess(AsyncProcessorHelper.java:73)
bei
org.apache.camel.Prozessor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:122)
bei
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:298)
bei
org.apache.camel.Prozessor.SendProcessor.Prozess(SendProcessor.java:117)
Kann mir jemand helfen?
- Ist dies im Zusammenhang mit diesem Problem issues.apache.org/jira/browse/CAMEL-6679 ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich wie folgt gelöst
Ich bin damit einverstanden, dass Ihre route sollte aber funktionieren, haben Sie versucht, so etwas wie dieses:
Habe ich dieses Beispiel aus http://camel.465427.n5.nabble.com/zip-file-best-practices-td5713437.html
Ich hoffe, das funktioniert für Sie!
ERROR: org.apache.camel.processor.DefaultErrorHandler - Failed delivery for (MessageId: ID-ubuntu-48866-1377893653015-0-1 on ExchangeId: ID-ubuntu-48866-1377893653015-0-2). Exhausted after delivery attempt: 1 caught: java.util.zip.ZipException: incorrect header check java.util.zip.ZipException: incorrect header check at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:164)