Hi,
I am having trouble getting the file pickup from SFTP site and delivered to multiple destinations. The destination1 able to successfully received the file. It seems when I use "localworkdirectory" the destination2 will not be able to receive any file. I noticed that when I removed the localworkdirectory it seems both endpoints able get the file. The problem is I need localworkdirectory since the file I pick up from SFTP is quite large. I would receive a Java exception - "Caused by: java.io.FileNotFoundException: /tmp/file100MB_multicast_22Mar.csv (No such file or directory)" Is it a bug when using localworkdirectory? Any workaround? Code snippet ------------------ from("sftp://u...@xxx.yyy?localworkdirectory=/tmp&binary=true&stepwise=false&autoCreate=false").routeId(JSONProperties.get("name")).choice().when(body().isNull()) .log("${routeId} :: ${date:now:HH:mm:ss:SS} Nothing here.. ") .otherwise() .log("Start Transfer : ${headers.CamelFileName}") .multicast() .to(destination1) .log("Destination 1 done: ${headers.CamelFileName} ") .to(destination2) .log("Destination 2 done: ${headers.CamelFileName} "); Version ---------- camel-spring-boot-dependencies = 3.11.1 OpenJDK = 8 spring-boot-starter-parent = 2.5.0 Message log: ----------------- 2022-03-23 02:00:17.474 INFO 17323 --- [amel-1_Worker-1] o.a.c.p.e.DefaultErrorHandler : Failed delivery for (MessageId: 18B7BF1BC7F0158-0000000000000005 on ExchangeId: 18B7BF1BC7F0158-0000000000000005). On delivery attempt: 0 caught: org.apache.camel.component.file.GenericFileOperationFailedException: Cannot store file: /destination2/file100MB_multicast_22Mar.csv.tmp org.apache.camel.component.file.GenericFileOperationFailedException: Cannot store file: /destination2/file100MB_multicast_22Mar.csv.tmp at org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:408) ~[camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:290) ~[camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:173) ~[camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:78) ~[camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.support.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:66) ~[camel-support-3.11.1.jar!/:3.11.1] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:172) ~[camel-core-processor-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398) [camel-base-engine-3.11.1.jar!/:3.11.1] at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:804) [camel-core-processor-3.11.1.jar!/:3.11.1] at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:712) [camel-core-processor-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:179) [camel-base-engine-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64) [camel-base-engine-3.11.1.jar!/:3.11.1] at org.apache.camel.processor.Pipeline.process(Pipeline.java:184) [camel-core-processor-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398) [camel-base-engine-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:492) [camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.remote.RemoteFileConsumer.processExchange(RemoteFileConsumer.java:156) [camel-ftp-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:245) [camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:206) [camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:190) [camel-support-3.11.1.jar!/:3.11.1] at org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:107) [camel-support-3.11.1.jar!/:3.11.1] at org.apache.camel.pollconsumer.quartz.QuartzScheduledPollConsumerJob.execute(QuartzScheduledPollConsumerJob.java:61) [camel-quartz-3.11.1.jar!/:3.11.1] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-2.3.2.jar!/:na] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) [quartz-2.3.2.jar!/:na] Caused by: org.apache.camel.InvalidPayloadException: No body available of type: java.io.InputStream but has value: RemoteFile[file100MB_multicast_22Mar.csv] of type: org.apache.camel.component.file.remote.RemoteFile on: file100MB_multicast_22Mar.csv. Caused by: Error during type conversion from type: java.io.File to the required type: java.io.InputStream with value /tmp/file100MB_multicast_22Mar.csv due to java.io.FileNotFoundException: /tmp/file100MB_multicast_22Mar.csv (No such file or directory). Exchange[18B7BF1BC7F0158-0000000000000005]. Caused by: [org.apache.camel.TypeConversionException - Error during type conversion from type: java.io.File to the required type: java.io.InputStream with value /tmp/file100MB_multicast_22Mar.csv due to java.io.FileNotFoundException: /tmp/file100MB_multicast_22Mar.csv (No such file or directory)] at org.apache.camel.support.MessageSupport.getMandatoryBody(MessageSupport.java:125) ~[camel-support-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:387) ~[camel-file-3.11.1.jar!/:3.11.1] ... 21 common frames omitted Caused by: org.apache.camel.TypeConversionException: Error during type conversion from type: java.io.File to the required type: java.io.InputStream with value /tmp/file100MB_multicast_22Mar.csv due to java.io.FileNotFoundException: /tmp/file100MB_multicast_22Mar.csv (No such file or directory) at org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(CamelBaseBulkConverterLoader.java:65) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.converter.CoreTypeConverterRegistry.doConvertTo(CoreTypeConverterRegistry.java:461) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.converter.CoreTypeConverterRegistry.doConvertTo(CoreTypeConverterRegistry.java:356) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.converter.CoreTypeConverterRegistry.convertTo(CoreTypeConverterRegistry.java:203) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.GenericFileConverter.genericFileToInputStream(GenericFileConverter.java:131) ~[camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.component.file.GenericFileConverterLoader.lambda$registerConverters$0(GenericFileConverterLoader.java:46) ~[camel-file-3.11.1.jar!/:3.11.1] at org.apache.camel.support.SimpleTypeConverter.convertTo(SimpleTypeConverter.java:101) ~[camel-support-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.converter.CoreTypeConverterRegistry.doConvertTo(CoreTypeConverterRegistry.java:478) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.converter.CoreTypeConverterRegistry.doConvertTo(CoreTypeConverterRegistry.java:356) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.impl.converter.CoreTypeConverterRegistry.mandatoryConvertTo(CoreTypeConverterRegistry.java:272) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.support.MessageSupport.getMandatoryBody(MessageSupport.java:123) ~[camel-support-3.11.1.jar!/:3.11.1] ... 22 common frames omitted Caused by: java.io.FileNotFoundException: /tmp/file100MB_multicast_22Mar.csv (No such file or directory) at java.io.FileInputStream.open0(Native Method) ~[na:1.8.0_312] at java.io.FileInputStream.open(FileInputStream.java:195) ~[na:1.8.0_312] at java.io.FileInputStream.<init>(FileInputStream.java:138) ~[na:1.8.0_312] at org.apache.camel.converter.IOConverter.toInputStream(IOConverter.java:81) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.converter.CamelBaseBulkConverterLoader.doConvertTo(CamelBaseBulkConverterLoader.java:134) ~[camel-base-3.11.1.jar!/:3.11.1] at org.apache.camel.converter.CamelBaseBulkConverterLoader.convertTo(CamelBaseBulkConverterLoader.java:56) ~[camel-base-3.11.1.jar!/:3.11.1] ... 32 common frames omitted