Adrian Crum wrote:
> I agree with David. An example is the advice he gave me during the 
> development of temporal expressions.
> 
> I wanted to cache the temporal expression Java structures in memory. David 
> suggested getting the persisted expressions from the entity cache instead. 
> Thinking about it, that made sense - temporal expressions should not change 
> frequently so they are good candidates for entity caching.

Storing them in the entity cache *is* storing them in memory.  Are you
iterating the entity values, building up some complex object?  If so,
then use Delegator.getCache().put(String, EntityCondition, String,
Object).  That allows you to add a complex built-up java object into
the same internal cache that is storing the list of cached results
from a condition lookup.

> Entity data that changes frequently should not be cached - because caching it 
> leads to concurrency issues.

Well, duh.  This feature would be used to find values that are being
looked up repeatedly, not changing, and not being cached.  How else
would it be used?

Reply via email to