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

Balazs Szeti commented on CAMEL-13119:
--------------------------------------

[~dmvolod] Thanks, the cache configuration should be done outside the policy. I 
used this solution with ehcache, the cache "mycache" was configured in 
ehcache.xml. Then the CacheManager and cache name "mycache" was set in 
CachePolicy, but it was only dependent on the jcache api.

I'll have a look, maybe it wouldn't work well with the camel-jcache component, 
but simply required the javax.cache.cache-api (and an implementation) on the 
classpath. In this case it's better suited in a separate repo, than next to the 
jcache component.

> Create Cache Policy for routes
> ------------------------------
>
>                 Key: CAMEL-13119
>                 URL: https://issues.apache.org/jira/browse/CAMEL-13119
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-jcache
>            Reporter: Balazs Szeti
>            Priority: Major
>
> Let's write a Policy for camel routes that can cache the "result" of a route 
> and execute the route next time only if nothing is found in the cache.
>  
> Related to cache DSL idea, but without DSL change: 
> https://issues.apache.org/jira/browse/CAMEL-11114
>  
> In the first draft the CachePolicy would cache the Message Body by a key 
> calculated via an Expression.
> Interface:
>  * cachePolicy.setCacheManager( cacheManager ) - set the CacheManager. If not 
> set, try lookup automatically.
>  * cachePolicy.setCacheName ( name ) - Will use this cache from the 
> CacheManager. If not set, we can use the route id by default.
>  * cachePolicy.setKeyExpression( expression ) - Camel expression that is 
> evaluated on the Exchange to determine the cache key. If it's found in the 
> cache, the route is not executed and the cached value is set as Body. 
> Otherwise the Message Body is added to the cache after the route with this 
> key.
>  
> An earlier related implementation: 
> [https://gist.github.com/bszeti/552bf7a1f05a75fc2964a4ce7ce889b5] 
> and how it can be used in a route: 
> [https://gist.github.com/bszeti/4f855cd80cd69e3953ff990b0ae056a2]
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to