[
https://issues.apache.org/jira/browse/CAMEL-5623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Reinhard Prechtl updated CAMEL-5623:
------------------------------------
Attachment: camel-cache-5623-part2.patch
patch that will enable SelfPopulatingCaches with the CacheComponent
> Cache-Component doesn't work with decorated Caches
> --------------------------------------------------
>
> Key: CAMEL-5623
> URL: https://issues.apache.org/jira/browse/CAMEL-5623
> Project: Camel
> Issue Type: Improvement
> Components: camel-cache
> Affects Versions: 2.10.1, 2.10.2
> Reporter: Reinhard Prechtl
> Assignee: Claus Ibsen
> Priority: Minor
> Fix For: 2.11.0
>
> Attachments: camel-cache-5623-part2.patch, camel-cache-5623.patch
>
>
> The camel-cache component uses cacheManager.getCache(cacheName) in
> org.apache.camel.component.cache.CacheEndpoint.initializeCache():114
> This method call does not return decorated caches.
> If you want to use a SelfPopulatingCache or a BlockingCache with EhCache and
> you call cacheManager.replaceCacheWithDecoratedCache(oldCache,
> decoratedCache), then the CachedEndpoint will return a <null> cache instead
> of the decorated cache. This happens because the preceeding
> cacheManager.cacheExists(cacheName) check will not check if a cache is a
> decorated cache.
> My suggestion is to replace the getCache() call with getEhcache() call, which
> will return decorated caches as well.
> Update: With the above issue resolved, there's a follow-up error in the
> CacheProducer class. In line 98 it checks if there is content for the given
> key in the cache. This prevents the use of SelfPopulatingCaches as well,
> since it is expected that there is no element in the Cache at some point - a
> CacheEntryFactory will then populate the Cache.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira