Hi, I was working with something similar to this problem. But I am not able to capture the exceptions properly.
Setps: 1. Download the existing file from the FTP 2. Push the file to backup folder and append the file name with current date 3. Push a new file to the FTP which has a complete new file Here is gist of what I am trying to achieve in RouteBuilder: public void configure() throws Exception { onException(Exception.class) .log("Exception returned due: ${exception.message}") .to(INTERNAL_ERROR_HANDLER_ENDPOINT_URI) .to(logError(PACKAGE_NAME)) .handled(true); from(INTERNAL_ERROR_HANDLER_ENDPOINT_URI) .log("File error route triggered due to : ${exception?.class}") .transform().simple("Error ${exception.message}") .bean(responseTranslator, "translateError") .end(); from(ENDPOINT_URI) .to(log(PACKAGE_NAME)) .process(contentBackupProcessor) .to(INTERNAL_ENDPOINT_URI) .end(); from(INTERNAL_ENDPOINT_URI) .process(requestProcessor) .to(ftpHostConfiguration.ftpEndpointForPublishing()) .bean(responseTranslator, "translate") .to(log(PACKAGE_NAME)); } ContentBackupProcessor: logger.debug("File backup processor called."); CamelContext context = exchange.getContext(); Endpoint ftp = context.getEndpoint(ftpHostConfiguration.ftpConsumerEndpointForBackupProcessor()); PollingConsumer consumer = ftp.createPollingConsumer(); logger.debug("FTP Consumer created for backup"); Endpoint producerFtp = context.getEndpoint(ftpHostConfiguration.ftpProducerEndpointForBackupProcessor()); ProducerTemplate template = exchange.getContext().createProducerTemplate(); logger.debug("FTP Producer created for backup"); consumer.start(); while(true){ Exchange result = consumer.receive(5000); if(result == null){ break; } template.send(producerFtp, result); } consumer.stop(); } And this is how my FTP URL Looks like URL 1: Consumer URL for downloading the file ftp://XXXXC@localhost:8899/?password=XXXXC&consumer.bridgeErrorHandler=true&throwExceptionOnConnectFailed=true&maximumReconnectAttempts=0&useList=true&delete=true URL 2: Producer URL for moving to backup folder and adding current date to the fileName ftp://XXXXC@localhost:8899/backup?password=XXXXC&consumer.bridgeErrorHandler=true&throwExceptionOnConnectFailed=true&maximumReconnectAttempts=0&useList=true&fileName=${file:name.noext}_${date:now:yyyyMMdd.hhmmss}.js ftp://XXXX@localhost:8899/?password=XXXX&consumer.bridgeErrorHandler=true&throwExceptionOnConnectFailed=true&maximumReconnectAttempts=0 Since URL 1 and URL 2 is written inside the processor when exception happens like unable to connect to FTP, onException is not able to handle that properly. And the route ends with a lot of stack trace. Kindly help. This is a bit urgent since we have a service that needs to be delivered urgently. Thanks & Regards Dilip H Pashupathi -- View this message in context: http://camel.465427.n5.nabble.com/Using-ConsumerTemplate-to-fetch-files-tp3304671p5796783.html Sent from the Camel - Users mailing list archive at Nabble.com.