Its probably best to receive without any timeout, using receiveNoWait.

On Tue, Dec 14, 2010 at 6:43 PM, Andreas A. <andreasasm...@gmail.com> wrote:
>
> Hi
>
> Something fishy is still going on, this is the code now:
>
> String ftpsUri =
> "ftp:localhost:1981/inbox?consumer.delay=1h&username=camel&password=camel123&move=.done";
> String fileUri = "file:{{path.in}}";
>
> consumer.start();
>
> while(true) {
>        Exchange exchange = consumer.receive(ftpsUri, 5000);
>
>        if(exchange == null) {
>                consumer.stop();
>                break;
>        }
>
>        if (exchange.getUnitOfWork() == null) {
>                // handover completions and done them manually to ensure they 
> are being
> executed
>                List<Synchronization> synchronizations = 
> exchange.handoverCompletions();
>                this.doneSynchronizations(exchange, synchronizations);
>        } else {
>                exchange.getUnitOfWork().done(exchange);
>        }
>        logger.info("Fetching file: " +
> exchange.getIn().getHeader("CamelFileName"));
>        producer.send(fileUri, exchange);
> }
>
> -> ERROR Caused by:
> [org.apache.camel.component.file.GenericFileOperationFailedException -
> Cannot retrieve file: GenericFile[op06.txt] from:
> Endpoint[ftp://localhost:1981/inbox?consumer.delay=1h&move=.done&password=******&username=camel]]
> org.apache.camel.component.file.GenericFileOperationFailedException: Cannot
> retrieve file: GenericFile[op06.txt] from:
> Endpoint[ftp://localhost:1981/inbox?consumer.delay=1h&move=.done&password=******&username=camel]
>        at
> org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:308)
>        at
> org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:155)
>        at
> org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:121)
>
> ---
>
> -> ERROR Caused by:
> [org.apache.camel.component.file.GenericFileOperationFailedException -
> Cannot rename file: GenericFile[op01.txt] to: GenericFile[.done/op01.txt]]
> org.apache.camel.component.file.GenericFileOperationFailedException: Cannot
> rename file: GenericFile[op01.txt] to: GenericFile[.done/op01.txt]
>        at
> org.apache.camel.component.file.strategy.GenericFileProcessStrategySupport.renameFile(GenericFileProcessStrategySupport.java:100)
>
> ---
>
> -> ERROR Caused by:
> [org.apache.camel.component.file.GenericFileOperationFailedException - File
> operation failed: 550 File not found
>  Cannot change directory to: inbox. Code: 550]
> org.apache.camel.component.file.GenericFileOperationFailedException: File
> operation failed: 550 File not found
>  Cannot change directory to: inbox. Code: 550
>        at
> org.apache.camel.component.file.remote.FtpOperations.doChangeDirectory(FtpOperations.java:611)
>        at
> org.apache.camel.component.file.remote.FtpOperations.changeCurrentDirectory(FtpOperations.java:587)
>        at
> org.apache.camel.component.file.remote.FtpOperations.retrieveFileToStreamInBody(FtpOperations.java:319)
>
> ---
>
> I believe I am this the same way as the DefaultConsumerTemplate is doing it.
> Could this have something to do with the stopping/starting of the consumer?
> Or is it still the "done"-ing that is not being performed correctly?
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Using-ConsumerTemplate-to-fetch-files-tp3304671p3304969.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to