@Test public void setMapStoreConfigImplementationTest() { String mapName = "mapStoreImpObjTest"; String xml = "<hazelcast xmlns=\"http://www.hazelcast.com/schema/config\">\n" + "<map name=\"" + mapName + "\">\n" + "<map-store enabled=\"true\">\n" + "<class-name>com.hazelcast.config.helpers.DummyMapStore</class-name>\n" + "<write-delay-seconds>5</write-delay-seconds>\n" + "</map-store>\n" + "</map>\n" + "</hazelcast>\n"; Config config = buildConfig(xml); HazelcastInstance hz = createHazelcastInstance(config); hz.getMap(mapName); MapConfig mapConfig = hz.getConfig().getMapConfig(mapName); MapStoreConfig mapStoreConfig = mapConfig.getMapStoreConfig(); Object o = mapStoreConfig.getImplementation(); assertNotNull(o); assertTrue(o instanceof DummyMapStore); }
@Test public void testMapStoreConfig_writeCoalescing_whenSetTrue() { boolean writeCoalescingEnabled = true; final MapStoreConfig mapStoreConfig = getWriteCoalescingMapStoreConfig(writeCoalescingEnabled, false); assertTrue(mapStoreConfig.isWriteCoalescing()); }
@Test public void testMapStoreConfig_writeCoalescing_whenDefault() { boolean writeCoalescingEnabled = MapStoreConfig.DEFAULT_WRITE_COALESCING; final MapStoreConfig mapStoreConfig = getWriteCoalescingMapStoreConfig(writeCoalescingEnabled, true); assertTrue(mapStoreConfig.isWriteCoalescing()); }
@Test public void testMapStoreInitialModeEager() { String xml = "<hazelcast xmlns=\"http://www.hazelcast.com/schema/config\">\n" + "<map name=\"mymap\">" + "<map-store enabled=\"true\" initial-mode=\"EAGER\"></map-store>" + "</map>" + "</hazelcast>"; final Config config = buildConfig(xml); System.out.println("config = " + config); final MapStoreConfig mapStoreConfig = config.getMapConfig("mymap").getMapStoreConfig(); assertTrue(mapStoreConfig.isEnabled()); assertEquals(MapStoreConfig.InitialLoadMode.EAGER, mapStoreConfig.getInitialLoadMode()); }
@Test public void testMapStoreInitialModeEager() { String xml = HAZELCAST_START_TAG + "<map name=\"mymap\">" + "<map-store enabled=\"true\" initial-mode=\"EAGER\"></map-store>" + "</map>" + "</hazelcast>"; final Config config = buildConfig(xml); System.out.println("config = " + config); final MapStoreConfig mapStoreConfig = config.getMapConfig("mymap").getMapStoreConfig(); assertTrue(mapStoreConfig.isEnabled()); assertEquals(MapStoreConfig.InitialLoadMode.EAGER, mapStoreConfig.getInitialLoadMode()); }
@Test public void testMapStoreInitialModeLazy() { String xml = "<hazelcast>\n" + "<map name=\"mymap\">" + "<map-store enabled=\"true\" initial-mode=\"LAZY\"></map-store>" + "</map>" + "</hazelcast>"; final Config config = buildConfig(xml); System.out.println("config = " + config); final MapStoreConfig mapStoreConfig = config.getMapConfig("mymap").getMapStoreConfig(); assertTrue(mapStoreConfig.isEnabled()); assertEquals(MapStoreConfig.InitialLoadMode.LAZY, mapStoreConfig.getInitialLoadMode()); }
@Test public void testMapStoreWriteBatchSize() { String xml = "<hazelcast xmlns=\"http://www.hazelcast.com/schema/config\">\n" + "<map name=\"mymap\">" + "<map-store >" + "<write-batch-size>23</write-batch-size>" + "</map-store>" + "</map>" + "</hazelcast>"; final Config config = buildConfig(xml); System.out.println("config = " + config); final MapStoreConfig mapStoreConfig = config.getMapConfig("mymap").getMapStoreConfig(); assertEquals(23, mapStoreConfig.getWriteBatchSize()); }
@Test public void testMapStoreWriteBatchSize() { String xml = HAZELCAST_START_TAG + "<map name=\"mymap\">" + "<map-store >" + "<write-batch-size>23</write-batch-size>" + "</map-store>" + "</map>" + "</hazelcast>"; final Config config = buildConfig(xml); System.out.println("config = " + config); final MapStoreConfig mapStoreConfig = config.getMapConfig("mymap").getMapStoreConfig(); assertEquals(23, mapStoreConfig.getWriteBatchSize()); }
@Test public void testMapConfig() { assertNotNull(config); assertEquals(6, config.getMapConfigs().size()); MapConfig testMapConfig = config.getMapConfig("testMap"); assertNotNull(testMapConfig); assertEquals("testMap", testMapConfig.getName()); assertEquals(2, testMapConfig.getBackupCount()); assertEquals(MapConfig.EvictionPolicy.NONE, testMapConfig.getEvictionPolicy()); assertEquals(Integer.MAX_VALUE, testMapConfig.getMaxSizeConfig().getSize()); assertEquals(30, testMapConfig.getEvictionPercentage()); assertEquals(0, testMapConfig.getTimeToLiveSeconds()); assertEquals("PUT_IF_ABSENT", testMapConfig.getMergePolicy()); assertTrue(testMapConfig.isReadBackupData()); assertEquals(2, testMapConfig.getMapIndexConfigs().size()); for (MapIndexConfig index : testMapConfig.getMapIndexConfigs()) { if ("name".equals(index.getAttribute())) { assertFalse(index.isOrdered()); } else if ("age".equals(index.getAttribute())) { assertTrue(index.isOrdered()); } else { fail("unknown index!"); } } // Test that the testMapConfig has a mapStoreConfig and it is correct MapStoreConfig testMapStoreConfig = testMapConfig.getMapStoreConfig(); assertNotNull(testMapStoreConfig); assertEquals("com.hazelcast.spring.DummyStore", testMapStoreConfig.getClassName()); assertTrue(testMapStoreConfig.isEnabled()); assertEquals(0, testMapStoreConfig.getWriteDelaySeconds()); assertEquals(MapStoreConfig.InitialLoadMode.EAGER, testMapStoreConfig.getInitialLoadMode()); // Test that the testMapConfig has a nearCacheConfig and it is correct NearCacheConfig testNearCacheConfig = testMapConfig.getNearCacheConfig(); assertNotNull(testNearCacheConfig); assertEquals(0, testNearCacheConfig.getTimeToLiveSeconds()); assertEquals(60, testNearCacheConfig.getMaxIdleSeconds()); assertEquals("LRU", testNearCacheConfig.getEvictionPolicy()); assertEquals(5000, testNearCacheConfig.getMaxSize()); assertTrue(testNearCacheConfig.isInvalidateOnChange()); // Test that the testMapConfig2's mapStoreConfig implementation MapConfig testMapConfig2 = config.getMapConfig("testMap2"); assertNotNull(testMapConfig2.getMapStoreConfig().getImplementation()); assertEquals(dummyMapStore, testMapConfig2.getMapStoreConfig().getImplementation()); assertEquals( MapStoreConfig.InitialLoadMode.LAZY, testMapConfig2.getMapStoreConfig().getInitialLoadMode()); assertEquals("testWan", testMapConfig2.getWanReplicationRef().getName()); // assertEquals("hz.ADD_NEW_ENTRY", // testMapConfig2.getWanReplicationRef().getMergePolicy()); assertEquals(1000, testMapConfig2.getMaxSizeConfig().getSize()); assertEquals( MaxSizeConfig.MaxSizePolicy.PER_NODE, testMapConfig2.getMaxSizeConfig().getMaxSizePolicy()); assertEquals(2, testMapConfig2.getEntryListenerConfigs().size()); for (EntryListenerConfig listener : testMapConfig2.getEntryListenerConfigs()) { if (listener.getClassName() != null) { assertNull(listener.getImplementation()); assertTrue(listener.isIncludeValue()); assertFalse(listener.isLocal()); } else { assertNotNull(listener.getImplementation()); assertEquals(entryListener, listener.getImplementation()); assertTrue(listener.isLocal()); assertTrue(listener.isIncludeValue()); } } MapConfig simpleMapConfig = config.getMapConfig("simpleMap"); assertNotNull(simpleMapConfig); assertEquals("simpleMap", simpleMapConfig.getName()); assertEquals(3, simpleMapConfig.getBackupCount()); assertEquals(1, simpleMapConfig.getAsyncBackupCount()); assertEquals(MapConfig.EvictionPolicy.LRU, simpleMapConfig.getEvictionPolicy()); assertEquals(10, simpleMapConfig.getMaxSizeConfig().getSize()); assertEquals(50, simpleMapConfig.getEvictionPercentage()); assertEquals(1, simpleMapConfig.getTimeToLiveSeconds()); assertEquals("LATEST_UPDATE", simpleMapConfig.getMergePolicy()); // Test that the simpleMapConfig does NOT have a mapStoreConfig assertNull(simpleMapConfig.getMapStoreConfig()); // Test that the simpleMapConfig does NOT have a nearCacheConfig assertNull(simpleMapConfig.getNearCacheConfig()); MapConfig testMapConfig3 = config.getMapConfig("testMap3"); assertEquals( "com.hazelcast.spring.DummyStoreFactory", testMapConfig3.getMapStoreConfig().getFactoryClassName()); assertFalse(testMapConfig3.getMapStoreConfig().getProperties().isEmpty()); assertEquals(testMapConfig3.getMapStoreConfig().getProperty("dummy.property"), "value"); MapConfig testMapConfig4 = config.getMapConfig("testMap4"); assertEquals( dummyMapStoreFactory, testMapConfig4.getMapStoreConfig().getFactoryImplementation()); }