Again, this is a feature from Coherence[1].
Basic idea is to execute a query against the cache, and hold the result object. This result object will always have up to date query result; this means that whenever something is modified in the cache the result itself is updated. Advantage: if one performs the same query very often(e.g. several times every millisecond) the response will be fast and the system will not be overloaded.
Filter filter = new AndFilter(new EqualsFilter("getTrader", traderid),
new EqualsFilter("getStatus", Status.OPEN));ContinuousQueryCache cacheOpenTrades = new ContinuousQueryCache(cache, filter);
Iterator iter = cacheOpenTrades.entrySet().iterator(); //*this entrySet call will be instant!*
FOr a full list of scenario in which this can be used take a look at [1].
Shall we consider adding something similar?
Cheers,
Mircea
[1] http://download.oracle.com/docs/cd/E14526_01/coh.350/e14509/continuousquery.htm#BABBEIAH