Set idempotentRepository on the file endpoint instead and remove
idempotent consumer in the route.

On Tue, Jul 9, 2019 at 7:01 PM Deepak Anand <deepakanand2...@gmail.com> wrote:
>
> Hi Devs ,
>
> I have a requirement to read from a directory where there are no of files
> in the subdirectories of it . I am using the camel File component for it .
> I don't want to process the same file which has been processed earlier
> using an idempotentConsumer and using RedisCache for it.
> In the cache I am adding the checksum to identify the duplicate file. The
> problem is that after reading more than 1000 files the same files(which
> were read earlier) are being read again and again which I don't want .
> Below is the snippet of the camel route
>
> from("file://" + sourceLoc + "/?recursive=true&noop=true"
> +"&idempotent=true&idempotentKey=${file:name}-${file:modified}&readLockRemoveOnCommit=false")
>                         .log("the read file is
> ${file:name}-${file:modified} ")
>                 .filter()
>                 .method(SourceMinAgeFilter.class, "accept")
>                 .process("checksumprocessor")
>                 .idempotentConsumer(header("fileCheckSum"),
>
> RedisIdempotentRepository.redisIdempotentRepository(stringredisTemplate,
> redisStoragename))
>                 .eager(true)
>                 .skipDuplicate(false)
>                 .choice()
>
> .when(exchangeProperty(Exchange.DUPLICATE_MESSAGE).isEqualTo(true))
>                 .log("file  ${file:onlyname} is a duplicate and hence
> skipped.")
>                 .otherwise()
>                 .process("fileprocessor")
>                 .log("processed file name from Source Folder" +
> ("${file:onlyname}"))
>                 .log("Total time to process a file : from Source Folder " +
> (System.currentTimeMillis() - starttime) + " ms").end();
>
> Could you please let me know what needs to be done so that the same file is
> not read again and again. Since I am using RedisCache it is not getting
> processed as the checksum is same but I don't want to read the file again
> that has been processed
>
> Thanks and Regards
> Deepak Anand



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to