You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Krzysztof Hołdanowicz (JIRA)" <ji...@apache.org> on 2017/11/25 16:09:00 UTC
[jira] [Resolved] (CAMEL-12037) File idempotent repository is
always initialized with default 1000 cache size
[ https://issues.apache.org/jira/browse/CAMEL-12037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Krzysztof Hołdanowicz resolved CAMEL-12037.
-------------------------------------------
Resolution: Fixed
> 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)