camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <claus.ib...@gmail.com>
Subject Re: Camel 1.6.0 FTP fails on the first attempt
Date Thu, 19 Nov 2009 04:55:35 GMT
On Wed, Nov 18, 2009 at 9:00 PM, harinair <hari_g@hotmail.com> wrote:
>
> Hi All:
>
> I currently push XML files to clients using Camel FTP component. I find that
> the module fails to send a file on the first try since the server closed
> connection (FTP response 421). My guess is Camel is keeping the connection
> open and the server is closing connection on inactivity. Hence in almost
> every send, there is an Exception and the second retry sends the file
> successfully. Is there any way to change the way this works?? How can we
> avoid this exception... or should I just ignore it? The Exception trace
> given below.

Its improved in Camel 2.1 which can recover such a situation.

In 1.x this feature is not present but the Camel error handling by
default will take of it and redeliver.
So in 1.x you should "just ignore it".

However you are welcome to take a stab at packporting or fixing this
in 1.x and provide a patch to JIRA.


>
> Hari Gangadharan
>
>
> 2009-11-17 22:14:44,367 [DefaultMessageListenerContainer-1599187] ERROR
> org.apache.camel.processor.DeadLetterChannel - Failed delivery for
> exchangeId: ID-dic
> k.glpconnect.com/64102-1256857713203/0-47328. On delivery attempt: 0 caught:
> org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421
> received.  Server closed connection.
> org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421
> received.  Server closed connection.
>        at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:346)
>        at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:490)
>        at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:534)
>        at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:583)
>        at org.apache.commons.net.ftp.FTP.pwd(FTP.java:1270)
>        at
> org.apache.commons.net.ftp.FTPClient.printWorkingDirectory(FTPClient.java:1800)
>        at
> org.apache.camel.component.file.remote.FtpUtils.buildDirectory(FtpUtils.java:83)
>        at
> org.apache.camel.component.file.remote.FtpProducer.process(FtpProducer.java:98)
>        at
> org.apache.camel.component.file.remote.FtpProducer.process(FtpProducer.java:51)
>        at
> org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:190)
>        at
> org.apache.camel.processor.RecipientList.sendToRecipientList(RecipientList.java:75)
>        at
> org.apache.camel.processor.RecipientList.process(RecipientList.java:59)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:80)
>        at
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
>        at
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
>        at
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
>        at
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
>        at
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
>        at
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
>        at
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
>        at
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
>        at
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>        at
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
>        at
> org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:72)
>        at
> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:543)
>        at
> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:482)
>        at
> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
>        at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
>        at
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
>        at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:9
> 82)
>        at
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:881)
>        at java.lang.Thread.run(Thread.java:595)
>
> --
> View this message in context: http://old.nabble.com/Camel-1.6.0-FTP-fails-on-the-first-attempt-tp26414647p26414647.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Mime
View raw message