james strachan created CAMEL-6509:
-------------------------------------
Summary: add a cache lookup-or-update type pattern to Camel?
Key: CAMEL-6509
URL: https://issues.apache.org/jira/browse/CAMEL-6509
Project: Camel
Issue Type: New Feature
Reporter: james strachan
See the example 7 on the cache page:
http://camel.apache.org/cache.html
it'd be nice if we could easily add a 'lookup in the cache for a given key
expression, use it as the payload if its found, otherwise invoke some remote
endpoint, update the cache and return that new value'; so folks can easily add
caching in front of endpoints.
I'm wondering if this might be more intuitive if its an actual pattern? e.g.
{code}
from("seda:foo").
cache("myCacheName").xpath("/foo/customerId").
getOrUpdate("http://the.remote.thingy").
// now carry on doing normal camel stuff...
{code}
We can then use expressions for the key to use (and possibly for the cache name
- or a constant string can be defaulted), then the operations are either get()
or getOrUpdate() - the latter taking an Endoint or URI to invoke if there is no
value in the cache.
e.g. to just do a cache lookup...
{code}
from("seda:foo").
cache("myCacheName").xpath("/foo/customerId").
get().
// now carry on doing normal camel stuff...
{code}
--
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