Beispiel #1
0
  @Test
  public void testCacheLocalEntries() {
    int n = 2;
    String mapName = "test";

    Config config = new Config();
    final NearCacheConfig nearCacheConfig = new NearCacheConfig();
    nearCacheConfig.setCacheLocalEntries(true);
    nearCacheConfig.setInvalidateOnChange(false);
    final MapConfig mapConfig = config.getMapConfig(mapName);
    mapConfig.setNearCacheConfig(nearCacheConfig);
    HazelcastInstance instance = createHazelcastInstanceFactory(n).newInstances(config)[0];

    IMap<String, String> map = instance.getMap(mapName);

    int noOfEntries = 100;

    for (int i = 0; i < noOfEntries; i++) {
      map.put("key" + i, "value" + i);
    }

    // warm-up cache
    for (int i = 0; i < noOfEntries; i++) {
      map.get("key" + i);
    }

    NearCache nearCache = getNearCache(mapName, instance);
    assertEquals(noOfEntries, nearCache.size());
  }
Beispiel #2
0
  @Test
  public void testGetAsyncIssue1863() throws Exception {
    final String mapName = "testGetAsyncWithNearCacheIssue1863";
    Config config = new Config();
    final NearCacheConfig nearCacheConfig = new NearCacheConfig();
    nearCacheConfig.setCacheLocalEntries(true);
    config.getMapConfig(mapName).setNearCacheConfig(nearCacheConfig);
    final TestHazelcastInstanceFactory hazelcastInstanceFactory = createHazelcastInstanceFactory(2);
    HazelcastInstance instance1 = hazelcastInstanceFactory.newHazelcastInstance(config);
    HazelcastInstance instance2 = hazelcastInstanceFactory.newHazelcastInstance(config);

    IMap<Integer, Integer> map = instance1.getMap(mapName);
    HashSet keys = new HashSet();
    int size = 1000;
    // populate near cache   -- cache local entries mode on.
    for (int i = 0; i < size; i++) {
      map.get(i);
      keys.add(i);
    }

    for (int i = 0; i < size; i++) {
      final Future<Integer> async = map.getAsync(i);
      assertNull(async.get());
    }

    NearCacheStats stats = map.getLocalMapStats().getNearCacheStats();
    assertEquals(size, stats.getHits());
  }
  protected ClientConfig newClientConfig(String mapName) {
    NearCacheConfig nearCacheConfig = new NearCacheConfig();
    nearCacheConfig.setInMemoryFormat(getNearCacheInMemoryFormat());
    nearCacheConfig.setName(mapName);
    nearCacheConfig.setInvalidateOnChange(true);
    nearCacheConfig.setCacheLocalEntries(true);

    ClientConfig clientConfig = new ClientConfig();
    clientConfig.addNearCacheConfig(nearCacheConfig);

    return clientConfig;
  }