And I've replied to yours. :)
----- Original Message -----
From: "Mircea Markus" <mmarkus(a)redhat.com>
To: "infinispan -Dev List" <infinispan-dev(a)lists.jboss.org>
Sent: Friday, 9 August, 2013 6:26:14 PM
Subject: Re: [infinispan-dev] the new CacheLoader API
On 9 Aug 2013, at 16:59, Manik Surtani <msurtani(a)redhat.com> wrote:
On 9 Aug 2013, at 16:29, Mircea Markus <mmarkus(a)redhat.com> wrote:
>>
>> My guess is Mircea was going for an overloaded method for bulkLoadKeys where we
want both one that takes a Collection and one that takes a KeyFilter? If so it seems to
me it would be simpler to just have a single method that takes KeyFilter only, but then
have another class like KeyFilters that has various static factory methods that can take a
Iterable or Iterator for example so we don't have too many methods on the loader
itself.
>
> I think we'll end up needing both actually, as bulkLoadAll with a collection
still makes sense. E.g. for JDBC queries it's easier to build a WHERE clause and
select all the elements in one go.
>
> Sanne ha a good alternative suggestion to the the bulkLoadAll:
>
> public process(KeyFilter, j.u.c.Executor, CacheLoaderTask clt);
>
> and
>
> interface CacheLoaderTask {
> //return false if don't need to process any longer
> boolean process (CacheLoaderEntry cle);
> }
>
> interface CacheLoaderEntry {
> Object getKey();
> ICV getInternalCacheValue();
> //.. ongoing discussion about some other byte[] based methods
> }
>
>
> This would allow the CacheStore to iterate over the entries in parallel, whilst still
allowing sequential iteration. Pretty awesome.
All sounds good, but may I suggest the following API (slight changes in naming, reasons
in comments):
https://gist.github.com/maniksurtani/97c62352347e61d60768#file-cacheloade...
Thanks! I've commented on the gist ;)
Cheers,
--
Mircea Markus
Infinispan lead (
www.infinispan.org)
_______________________________________________
infinispan-dev mailing list
infinispan-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev