Balazs Szeti created CAMEL-13119:
------------------------------------

             Summary: 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


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