1 of 1 people found this helpful
ModeShape doesn't support the notion of a "persistent client". Infinispan does have a Remote Cache Loader, but it's a different API than the normal Cache Loader API and therefore ModeShape doesn't support it.
In a client-server setup, where the "server" runs a ModeShape repository (regardless if clustered/non-clustered), a "client" can interact with the repository in several ways:
1) via the REST service - ModeShape's REST Service - ModeShape 3 - Project Documentation Editor
2) via CMIS (using a CMIS-compliant client CMIS connector - ModeShape 3 - Project Documentation Editor)
From all these probably (1) is the most mature in terms of capabilities. However, none of these support the idea of persisting data on the client. So if this is a requirement in your case you need to implement this from scratch (most likely translating Nodes and node-like structures into something that you can marshal/unmarshal to/from your clients).
As far as merging the data (i.e. multiple clients updating the same piece(s) of information), ModeShape relies entirely on Infinispan and its MVCC support (Locking and Concurrency - Infinispan 5.1 - Project Documentation Editor), so unless you have some special requirements here, this will work out-of-the-box based on how you configure Infinispan.
Clustering/non-clustering is purely a server configuration concern which should be driven by the scalability/availabilty/etc requirements. It has no relevance for the client-part of the problem. You can look at the various topologies here Clustering - ModeShape 3 - Project Documentation Editor or in the Infinispan documentation.
Thanks for your answer. You helped me saving time, not trying to configure vainly ModeShape clustering options to solve a problem that it is not intended for.