[ 
https://issues.apache.org/jira/browse/CAMEL-12037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16265750#comment-16265750
 ] 

ASF GitHub Bot commented on CAMEL-12037:
----------------------------------------

zurkin opened a new pull request #2118: CAMEL-12037 Idempotent repository cache 
initialization fix.
URL: https://github.com/apache/camel/pull/2118
 
 
   Also consider moving this initalization block to a default constructor.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> File idempotent repository is always initialized with default 1000 cache size
> -----------------------------------------------------------------------------
>
>                 Key: CAMEL-12037
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12037
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.20.0
>            Reporter: Krzysztof Hołdanowicz
>             Fix For: 2.20.2, 2.21.0
>
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> http://camel.465427.n5.nabble.com/File-idempotent-repository-problem-since-2-20-td5815760.html
> So far we've been using file idempotent repository which was defined like 
> this: 
> <bean id="download repository" 
> class="of.apache.camel.processor.idempotent.FileIdempotentRepository"> 
>   <property name="fileStore" value="work/.downloadStore.dat" /> 
>   <property name="cacheSize" value="5000" /> 
> </bean> 
> However since Camel version 2.20 I can see that in 
> FileIdempotentRepository.java there is a cache initialization in method 
> doStart(): 
> protected void doStart() throws Exception { 
>  ... 
>  this.cache = LRUCacheFactory.newLRUCache(1000); 
>  ... 
> } 
> which always overrides our cacheSize definition with default value, because 
> doStart method is always invoked just after bean initialization (if the 
> init-method="start" was specified in bean definition) or during camel 
> context initialization. 
> As a consequence our idempotent stores always have a default 1000 cache 
> size limit. 
> Shuldn't the doStart method check the cache instance first before 
> initializing it with default cache size e.g. 
> protected void doStart() throws Exception { 
> ... 
> if (this.cache == null) { 
>   this.cache = LRUCacheFactory.newLRUCache(1000); 
> } 
> ... 
> } 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to