Hmm - if there is no other shared data at all, you could use non-clustered caches in all of your JVMs that actually use the country/city data, configure them to use a TcpDelegatingCacheLoader, and then set up a single cache on a single JVM with all of your data, and stick a TcpCacheServer in front of it.
I think I understand you advise, but i doubt whether this appoach synchronize data between JVMs that use same node if none of them is a coordinator?
Example of JVMs and nodes that they use
So, when JVM3 changes a leaf of /UK, the instance of JBC must propagate changes to JVM2 and to coordinator immediately.
As far as I see from the source code TcpDelegatingCLassloader will send changes only to coordinator JVM node through CacheServer.
And does this TCPDelegatingCacheLoader make use of UDP and multicasting?
My problem is that I am trying to cluster a TreeCache between JVMs on the LAN. But I do not want to share the entire tree between all members of the cluster in order to reduce traffic.
The configuration I expect to exist is like this
For coordinator JVM
<clustering mode="replication" clusterName="MySmartCluster" coordinatorNode="true">
<clustering mode="replication" clusterName="MySmartCluster" coordinatorNode="false"> <fgnlist> <fqn>/Spain</fqn> <fqn>/Spain/Madrid</fqn> </fqnlist>
I think my question is clear.