On Tue, Sep 18, 2012 at 7:25 AM, Siano, Stephan <stephan.si...@sap.com> wrote:
> There are actually two potential usages for idempotent repositories in 
> conjunction with (S)FTP endpoints: usage in the endpoint itself or with an 
> idempotent consumer in the pipeline (as you describe). If you have the 
> idempotent repository directly in the endpoint this has the advantage that it 
> is applied before the file is even fetched from the server, however AFAIK the 
> only available information for this is the filename. With idempotent 
> consumers in the pipeline, you are free to do whatever you want, but this is 
> after you have fetched the file from the server.
>
> So to answer the original question: AFAIK there is no way to put any exchange 
> properties to an idempotent repository that is attached to the endpoint using 
> the idempotentRepository parameter in the file/FTP/SFTP endpoint, because 
> there is actually no exchange at the time it is used. If you are willing to 
> download all files and then select which ones you want to process, the 
> idempotent consumer Christian described is the way to go.
>

Yes the built-in idempotent consumer is based on the file name only.
We could enhance this with more details if that would be possible.

Fell free to log a JIRA ticket.

> Best regards
> Stephan
>
> -----Original Message-----
> From: Christian Müller [mailto:christian.muel...@gmail.com]
> Sent: Montag, 17. September 2012 23:57
> To: users@camel.apache.org
> Subject: Re: Custom Idempotent Jdbc repository + Using lastmodified time
>
> Checkout: http://camel.apache.org/idempotent-consumer.html and
> http://camel.apache.org/simple.html
>
> Instead of
> from("direct:a")
>     .idempotentConsumer(header("myMessageId"), ...
>
> try something like
> from("direct:a")
>
> .idempotentConsumer(simple("${header.CamelFileNameOnly}-${header.CamelFileLastModified}"),
> ...
>
> Best,
> Christian
>
> On Mon, Sep 17, 2012 at 11:34 PM, webber78 <kiran.baire...@gmail.com> wrote:
>
>> Thanks for your reply. Is there anyway I can get the header you described
>> in
>> a subclass of AbstractJdbcMessageIdRepository. I saw a few examples of
>> getting headers using the Exchange object, but not sure how to get access
>> to
>> these from an idempotent repository.
>>
>> Thanks,
>> Kiran
>>
>>
>>
>> --
>> View this message in context:
>> http://camel.465427.n5.nabble.com/Custom-Idempotent-Jdbc-repository-Using-lastmodified-time-tp5719480p5719495.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, fusenews
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to