[infinispan-dev] RemoteCache vs BasicCache
Manik Surtani
msurtani at redhat.com
Thu Jul 4 08:26:17 EDT 2013
On 4 Jul 2013, at 13:10, Tristan Tarrant <ttarrant at redhat.com> wrote:
> Dear all,
>
> during my latest destructive commits, I have liberated
> infinispan-client-hotrod from infinispan-core.
> One of the things I did was remove the inheritance of RemoteCache from
> BasicCache, since my argument was that our base API contract was the
> ConcurrentMap interface and that would suffice, since it implied that a
> remote Cache could match a core Cache in functionality (which is
> somewhat true). Now, I'm not convinced it was a good choice after all,
> since there are indeed a ton of common methods (the async API for one).
>
>
> I would like people's opinion on the above, and propose one of the
> following:
>
> 1. we leave it as it is
> 2. we move org.infinispan.api to infinispan-commons and make RemoteCache
> inherit from BasicCache
> 3. we go even further and split the concept of BasicCache into multiple
> interfaces: AsyncCache, TransactionalCache, QueryableCache, etc and add
> them to the RemoteCache as we will in the blanks, since we are aiming at
> feature parity. This could also mix well with the ideal of having the
> JCache API as our public API.
I like option 3, especially since there is minimal "cost" to such granularity. However, I see that a BasicCache interface (that extends QueryableCache, TransactionalCache, AsyncCache) may still be useful so code that uses features from all those interfaces can still be written in a manner than is abstract from the remote/embedded detail.
>
> Tristan
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani
Platform Architect, JBoss Data Grid
http://red.ht/data-grid
More information about the infinispan-dev
mailing list