CacheContainer cacheContainer = new RemoteCacheManager(); Cache cache = cacheContainer.getCache(); //client sends put request to s1 cache.put("key1", "aValue"); //client sends put request to s2 cache.put("key2", "aValue"); //client sends get request to s3 String value = cache.get("key1"); //client dispatches to s1 again cache.remove("key2"); //and so on...