[infinispan-dev] RemoteCache vs BasicCache

Tristan Tarrant ttarrant at redhat.com
Thu Jul 4 08:10:15 EDT 2013


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.

Tristan



More information about the infinispan-dev mailing list