You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by ThomasGøtzsche <Th...@bec.dk> on 2016/01/26 10:13:31 UTC
SFTP-Consumer: Handle UnknowHostException
Hi EveryOne
Camel version 2.16.1
We have created a ftp consumer route dynamically as follow:
from("sftp://fakeuser@fakehost:22" +
"/?password=fakepassword" +
"&pollStrategy=#pollStrategy" +
"&recursive=true" +
"&throwExceptionOnConnectFailed=true" +
"&delete=true" +
"&consumer.bridgeErrorHandler=true" +
"&maximumReconnectAttempts=3")
.onException(Exception.class).handled(true)
.to("log:errorLog?level=ERROR&showAll=true&multiline=true")
.setHeader("ANY_MESSAGE", constant("Error occured!"))
.handled(true)
.end()
.to((new File("c:/temp")).toURI().toString());
The thing is that the configured endpoint cannot handle the situation if the
sftp host is not available. The route cannot reach the onException section
even though consumer.bridgeErrorHandler=true and
throwExceptionOnConnectFailed=true and we have a custom made proxy.
The custom made proxy is never used because of
throwExceptionOnConnectFailed=true.
It looks like the consumer.bridgeErrorHandler does not do as intended.
The log file instead has produced the following stack trace:
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot
connect to sftp://fakeuser@fakehost:22
at
org.apache.camel.component.file.remote.SftpOperations.connect(SftpOperations.java:146)
at
org.apache.camel.component.file.remote.RemoteFileConsumer.connectIfNecessary(RemoteFileConsumer.java:203)
at
org.apache.camel.component.file.remote.RemoteFileConsumer.recoverableConnectIfNecessary(RemoteFileConsumer.java:171)
at
org.apache.camel.component.file.remote.RemoteFileConsumer.prePollCheck(RemoteFileConsumer.java:59)
at
org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:106)
at
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174)
at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown
Source)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: com.jcraft.jsch.JSchException: java.net.UnknownHostException:
fakehost
at com.jcraft.jsch.Util.createSocket(Util.java:394)
at com.jcraft.jsch.Session.connect(Session.java:215)
at
org.apache.camel.component.file.remote.SftpOperations.connect(SftpOperations.java:118)
... 13 common frames omitted
Caused by: java.net.UnknownHostException: fakehost
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.jcraft.jsch.Util$1.run(Util.java:362)
... 1 common frames omitted
--
View this message in context: http://camel.465427.n5.nabble.com/SFTP-Consumer-Handle-UnknowHostException-tp5776690.html
Sent from the Camel Development mailing list archive at Nabble.com.