Is there a reason that an sftp->seda route would fail? In both examples below,
uri is like "sftp://t...@host/mult?include=.*.log&move=.done&password=******
This works as expected:
from(uri).to("direct:foobar");
from("direct:foobar").log("${body}");
But this fails. It does log the contents of the file, but then dies trying to
move the file. Exception below.
from(uri).to("seda:foobar");
from("seda:foobar").log("${body}");
Thanks for any advice!
-Lorrin
RemoteFilePollingConsumerPollStrategy 2010-09-28 15:31:54,525 -- WARN -- Trying
to recover by disconnecting from remote server forcing a re-connect at next
poll: sftp://t...@host:22
SftpOperations 2010-09-28 15:31:54,526 -- INFO -- JSCH -> Disconnecting from
host port 22
RemoteFilePollingConsumerPollStrategy 2010-09-28 15:31:54,582 -- WARN --
Consumer
Consumer[sftp://t...@host/mult?include=.*.log&move=.done&password=J3fp69z%40]
could not poll endpoint:
sftp://t...@host/mult?include=.*.log&move=.done&password=J3fp69z%40 caused by:
Cannot list directory: mult
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot
list directory: mult
at
org.apache.camel.component.file.remote.SftpOperations.listFiles(SftpOperations.java:377)
at
org.apache.camel.component.file.remote.SftpConsumer.pollDirectory(SftpConsumer.java:54)
at
org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:83)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:97)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
Caused by: 2: No such file
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2289)
at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:1741)
at com.jcraft.jsch.ChannelSftp._stat(ChannelSftp.java:1758)
at com.jcraft.jsch.ChannelSftp.ls(ChannelSftp.java:1196)
at
org.apache.camel.component.file.remote.SftpOperations.listFiles(SftpOperations.java:368)
... 12 more
GenericFileOnCompletion 2010-09-28 15:31:54,587 -- ERROR -- Caused by:
[org.apache.camel.component.file.GenericFileOperationFailedException - Cannot
change current directory to: /home/test]
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot
change current directory to: /home/test
at
org.apache.camel.component.file.remote.SftpOperations.changeCurrentDirectory(SftpOperations.java:352)
at
org.apache.camel.component.file.remote.SftpOperations.buildDirectory(SftpOperations.java:304)
at
org.apache.camel.component.file.strategy.GenericFileProcessStrategySupport.renameFile(GenericFileProcessStrategySupport.java:89)
at
org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy.commit(GenericFileRenameProcessStrategy.java:83)
at
org.apache.camel.component.file.GenericFileOnCompletion.processStrategyCommit(GenericFileOnCompletion.java:121)
at
org.apache.camel.component.file.GenericFileOnCompletion.onCompletion(GenericFileOnCompletion.java:83)
at
org.apache.camel.component.file.GenericFileOnCompletion.onComplete(GenericFileOnCompletion.java:52)
at
org.apache.camel.util.UnitOfWorkHelper.doneSynchronizations(UnitOfWorkHelper.java:55)
at
org.apache.camel.impl.DefaultUnitOfWork.done(DefaultUnitOfWork.java:173)
at
org.apache.camel.processor.UnitOfWorkProcessor.doneUow(UnitOfWorkProcessor.java:121)
at
org.apache.camel.processor.UnitOfWorkProcessor.access$000(UnitOfWorkProcessor.java:36)
at
org.apache.camel.processor.UnitOfWorkProcessor$1.done(UnitOfWorkProcessor.java:106)
at
org.apache.camel.processor.DefaultChannel$1.done(DefaultChannel.java:262)
at
org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:328)
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:206)
at
org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at
org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:169)
at
org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:111)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:637)
Caused by: 4:
at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:285)
at
org.apache.camel.component.file.remote.SftpOperations.changeCurrentDirectory(SftpOperations.java:350)
... 26 more
Caused by: java.io.IOException: Pipe closed
at java.io.PipedInputStream.read(PipedInputStream.java:291)
at java.io.PipedInputStream.read(PipedInputStream.java:361)
at com.jcraft.jsch.ChannelSftp.fill(ChannelSftp.java:2325)
at com.jcraft.jsch.ChannelSftp.header(ChannelSftp.java:2351)
at com.jcraft.jsch.ChannelSftp._realpath(ChannelSftp.java:1810)
at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:268)
... 27 more