Hi 

I've got a use case where i need to enrich a message by polling a FTP server
so as to get files like "request_1.xml", "request_2.xml", etc.
This FTP server acts as a resource provider, and i want to be able to get
the appropriate file every time a message is handled (the request number is
held in a header of current exchange).

I'm doing the polling in a processor, as pollEnrich can't use headers from
current exchange.

So, i've configured the URI of the FTP server with idempotent=false (which
theoritically allows me to poll the same file multiple times).

But it appears that the name of the file is held in the in-memory
inProgressRepository of the endpoint and is never removed.
So the second time I try to get a request.xml file, it doesn't work :
[TRACE] remote.FtpConsumer Skipping as file is already in progress:
request_1.xml

A workaround is to remove the file name from the inProgressRepository by
myself after getting the file and closing the consumer.

Is there a way to automatically clean the inProgressRepository after file is
handled ? Am I missing something ?

Thanks.

--
View this message in context: 
http://camel.465427.n5.nabble.com/inProgressRepository-not-cleaned-in-GenericFileEndpoint-tp4722713p4722713.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to