use of com.hazelcast.config.AttributeConfig in project hazelcast by hazelcast.
the class DynamicConfigTest method getMapConfig.
private MapConfig getMapConfig() {
MapConfig mapConfig = new MapConfig(name);
mapConfig.setAsyncBackupCount(3).setBackupCount(2).setCacheDeserializedValues(CacheDeserializedValues.ALWAYS).setMerkleTreeConfig(new MerkleTreeConfig().setEnabled(true).setDepth(15)).setEventJournalConfig(new EventJournalConfig().setEnabled(true).setCapacity(42).setTimeToLiveSeconds(52)).setHotRestartConfig(new HotRestartConfig().setEnabled(true).setFsync(true)).setInMemoryFormat(InMemoryFormat.OBJECT).setMergePolicyConfig(new MergePolicyConfig(NON_DEFAULT_MERGE_POLICY, NON_DEFAULT_MERGE_BATCH_SIZE)).setTimeToLiveSeconds(220).setMaxIdleSeconds(110).setSplitBrainProtectionName(randomString()).addAttributeConfig(new AttributeConfig("attributeName", "com.attribute.extractor")).addIndexConfig(new IndexConfig(IndexType.SORTED, "attr")).setMetadataPolicy(MetadataPolicy.OFF).setReadBackupData(true).setStatisticsEnabled(false).setPerEntryStatsEnabled(true);
mapConfig.getEvictionConfig().setEvictionPolicy(EvictionPolicy.RANDOM).setSize(4096).setMaxSizePolicy(MaxSizePolicy.PER_NODE);
return mapConfig;
}
use of com.hazelcast.config.AttributeConfig in project hazelcast by hazelcast.
the class PhoneHomeTest method testMapCountWithAtleastOneAttribute.
@Test
public void testMapCountWithAtleastOneAttribute() {
Map<String, String> parameters;
parameters = phoneHome.phoneHome(true);
assertEquals(parameters.get(PhoneHomeMetrics.MAP_COUNT_WITH_ATLEAST_ONE_ATTRIBUTE.getRequestParameterName()), "0");
Map<String, String> map1 = node.hazelcastInstance.getMap("hazelcast");
parameters = phoneHome.phoneHome(true);
assertEquals(parameters.get(PhoneHomeMetrics.MAP_COUNT_WITH_ATLEAST_ONE_ATTRIBUTE.getRequestParameterName()), "0");
node.getConfig().getMapConfig("hazelcast").getAttributeConfigs().add(new AttributeConfig());
parameters = phoneHome.phoneHome(true);
assertEquals(parameters.get(PhoneHomeMetrics.MAP_COUNT_WITH_ATLEAST_ONE_ATTRIBUTE.getRequestParameterName()), "1");
node.getConfig().getMapConfig("hazelcast").getAttributeConfigs().add(new AttributeConfig());
parameters = phoneHome.phoneHome(true);
assertEquals(parameters.get(PhoneHomeMetrics.MAP_COUNT_WITH_ATLEAST_ONE_ATTRIBUTE.getRequestParameterName()), "1");
}
use of com.hazelcast.config.AttributeConfig in project hazelcast by hazelcast.
the class PhoneHomeIntegrationTest method testMapMetrics.
@Test
public void testMapMetrics() {
node.hazelcastInstance.getMap("hazelcast");
node.hazelcastInstance.getMap("phonehome");
MapConfig config = node.getConfig().getMapConfig("hazelcast");
config.setReadBackupData(true);
config.getMapStoreConfig().setClassName(DelayMapStore.class.getName()).setEnabled(true);
config.addQueryCacheConfig(new QueryCacheConfig("queryconfig"));
config.getHotRestartConfig().setEnabled(true);
config.getIndexConfigs().add(new IndexConfig().setName("index"));
config.setWanReplicationRef(new WanReplicationRef().setName("wan"));
config.getAttributeConfigs().add(new AttributeConfig("hz", AttributeExtractor.class.getName()));
config.getEvictionConfig().setEvictionPolicy(EvictionPolicy.LRU);
config.setInMemoryFormat(InMemoryFormat.NATIVE);
phoneHome.phoneHome(false);
verify(1, postRequestedFor(urlPathEqualTo("/ping")).withRequestBody(containingParam("mpct", "2")).withRequestBody(containingParam("mpbrct", "1")).withRequestBody(containingParam("mpmsct", "1")).withRequestBody(containingParam("mpaoqcct", "1")).withRequestBody(containingParam("mpaoict", "1")).withRequestBody(containingParam("mphect", "1")).withRequestBody(containingParam("mpwact", "1")).withRequestBody(containingParam("mpaocct", "1")).withRequestBody(containingParam("mpevct", "1")).withRequestBody(containingParam("mpnmct", "1")));
}
use of com.hazelcast.config.AttributeConfig in project cas by apereo.
the class HazelcastSessionConfiguration method hazelcastInstance.
/**
* Hazelcast instance that is used by the spring session
* repository to broadcast session events. The name
* of this bean must be left untouched.
*
* @param casProperties the cas properties
* @param hazelcastSessionProperties the hazelcast session properties
* @param sessionProperties the session properties
* @param serverProperties the server properties
* @return the hazelcast instance
*/
@Bean(destroyMethod = "shutdown")
@RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
public HazelcastInstance hazelcastInstance(final CasConfigurationProperties casProperties, final HazelcastSessionProperties hazelcastSessionProperties, final SessionProperties sessionProperties, final ServerProperties serverProperties) {
val hz = casProperties.getWebflow().getSession().getHazelcast();
val config = HazelcastConfigurationFactory.build(hz);
val serializerConfig = new SerializerConfig();
serializerConfig.setImplementation(new HazelcastSessionSerializer()).setTypeClass(MapSession.class);
config.getSerializationConfig().addSerializerConfig(serializerConfig);
val duration = (Duration) ObjectUtils.defaultIfNull(sessionProperties.getTimeout(), serverProperties.getServlet().getSession().getTimeout());
val hazelcastInstance = HazelcastInstanceFactory.getOrCreateHazelcastInstance(config);
val mapConfig = HazelcastConfigurationFactory.buildMapConfig(hz, hazelcastSessionProperties.getMapName(), duration.toSeconds());
if (mapConfig instanceof MapConfig) {
val finalConfig = (MapConfig) mapConfig;
val attributeConfig = new AttributeConfig();
attributeConfig.setName(Hazelcast4IndexedSessionRepository.PRINCIPAL_NAME_ATTRIBUTE);
attributeConfig.setExtractorClassName(HazelcastSessionPrincipalNameExtractor.class.getName());
finalConfig.addAttributeConfig(attributeConfig);
val indexConfig = new IndexConfig();
indexConfig.addAttribute(Hazelcast4IndexedSessionRepository.PRINCIPAL_NAME_ATTRIBUTE);
finalConfig.addIndexConfig(indexConfig);
}
HazelcastConfigurationFactory.setConfigMap(mapConfig, hazelcastInstance.getConfig());
return hazelcastInstance;
}
use of com.hazelcast.config.AttributeConfig in project hazelcast by hazelcast.
the class TestFullApplicationContext method testMapConfig.
@Test
public void testMapConfig() {
assertNotNull(config);
long mapConfigSize = config.getMapConfigs().keySet().stream().filter(name -> !name.startsWith(INTERNAL_JET_OBJECTS_PREFIX)).count();
assertEquals(27, mapConfigSize);
MapConfig testMapConfig = config.getMapConfig("testMap");
assertNotNull(testMapConfig);
assertEquals("testMap", testMapConfig.getName());
assertEquals(2, testMapConfig.getBackupCount());
assertEquals(EvictionPolicy.NONE, testMapConfig.getEvictionConfig().getEvictionPolicy());
assertEquals(Integer.MAX_VALUE, testMapConfig.getEvictionConfig().getSize());
assertEquals(0, testMapConfig.getTimeToLiveSeconds());
assertTrue(testMapConfig.getMerkleTreeConfig().isEnabled());
assertEquals(20, testMapConfig.getMerkleTreeConfig().getDepth());
assertTrue(testMapConfig.getDataPersistenceConfig().isEnabled());
assertTrue(testMapConfig.getDataPersistenceConfig().isFsync());
EventJournalConfig journalConfig = testMapConfig.getEventJournalConfig();
assertTrue(journalConfig.isEnabled());
assertEquals(123, journalConfig.getCapacity());
assertEquals(321, journalConfig.getTimeToLiveSeconds());
assertEquals(MetadataPolicy.OFF, testMapConfig.getMetadataPolicy());
assertTrue(testMapConfig.isReadBackupData());
assertEquals(2, testMapConfig.getIndexConfigs().size());
for (IndexConfig index : testMapConfig.getIndexConfigs()) {
if ("name".equals(index.getAttributes().get(0))) {
assertEquals(IndexType.HASH, index.getType());
assertNull(index.getName());
} else if ("age".equals(index.getAttributes().get(0))) {
assertEquals(IndexType.SORTED, index.getType());
assertEquals("sortedIndex", index.getName());
assertEquals("name", index.getAttributes().get(1));
} else {
fail("unknown index!");
}
}
assertEquals(2, testMapConfig.getAttributeConfigs().size());
for (AttributeConfig attribute : testMapConfig.getAttributeConfigs()) {
if ("power".equals(attribute.getName())) {
assertEquals("com.car.PowerExtractor", attribute.getExtractorClassName());
} else if ("weight".equals(attribute.getName())) {
assertEquals("com.car.WeightExtractor", attribute.getExtractorClassName());
} else {
fail("unknown attribute!");
}
}
assertEquals("my-split-brain-protection", testMapConfig.getSplitBrainProtectionName());
MergePolicyConfig mergePolicyConfig = testMapConfig.getMergePolicyConfig();
assertNotNull(mergePolicyConfig);
assertEquals("PassThroughMergePolicy", mergePolicyConfig.getPolicy());
assertEquals(2342, mergePolicyConfig.getBatchSize());
// 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(10, testMapStoreConfig.getWriteBatchSize());
assertTrue(testMapStoreConfig.isWriteCoalescing());
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(EvictionPolicy.LRU, testNearCacheConfig.getEvictionConfig().getEvictionPolicy());
assertEquals(5000, testNearCacheConfig.getEvictionConfig().getSize());
assertTrue(testNearCacheConfig.isInvalidateOnChange());
assertFalse(testNearCacheConfig.isSerializeKeys());
// 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());
// test testMapConfig2's WanReplicationConfig
WanReplicationRef wanReplicationRef = testMapConfig2.getWanReplicationRef();
assertEquals("testWan", wanReplicationRef.getName());
assertEquals("PutIfAbsentMergePolicy", wanReplicationRef.getMergePolicyClassName());
assertTrue(wanReplicationRef.isRepublishingEnabled());
assertEquals(1000, testMapConfig2.getEvictionConfig().getSize());
assertEquals(MaxSizePolicy.PER_NODE, testMapConfig2.getEvictionConfig().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(EvictionPolicy.LRU, simpleMapConfig.getEvictionConfig().getEvictionPolicy());
assertEquals(10, simpleMapConfig.getEvictionConfig().getSize());
assertEquals(1, simpleMapConfig.getTimeToLiveSeconds());
// 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());
MapConfig mapWithValueCachingSetToNever = config.getMapConfig("mapWithValueCachingSetToNever");
assertEquals(CacheDeserializedValues.NEVER, mapWithValueCachingSetToNever.getCacheDeserializedValues());
MapConfig mapWithValueCachingSetToAlways = config.getMapConfig("mapWithValueCachingSetToAlways");
assertEquals(CacheDeserializedValues.ALWAYS, mapWithValueCachingSetToAlways.getCacheDeserializedValues());
MapConfig mapWithDefaultValueCaching = config.getMapConfig("mapWithDefaultValueCaching");
assertEquals(CacheDeserializedValues.INDEX_ONLY, mapWithDefaultValueCaching.getCacheDeserializedValues());
MapConfig testMapWithPartitionLostListenerConfig = config.getMapConfig("mapWithPartitionLostListener");
List<MapPartitionLostListenerConfig> partitionLostListenerConfigs = testMapWithPartitionLostListenerConfig.getPartitionLostListenerConfigs();
assertEquals(1, partitionLostListenerConfigs.size());
assertEquals("DummyMapPartitionLostListenerImpl", partitionLostListenerConfigs.get(0).getClassName());
MapConfig testMapWithPartitionStrategyConfig = config.getMapConfig("mapWithPartitionStrategy");
assertEquals("com.hazelcast.spring.DummyPartitionStrategy", testMapWithPartitionStrategyConfig.getPartitioningStrategyConfig().getPartitioningStrategyClass());
MapConfig testMapConfig5 = config.getMapConfig("testMap5");
TieredStoreConfig tieredStoreConfig = testMapConfig5.getTieredStoreConfig();
assertTrue(tieredStoreConfig.isEnabled());
MemoryTierConfig memoryTierConfig = tieredStoreConfig.getMemoryTierConfig();
assertEquals(MemoryUnit.MEGABYTES, memoryTierConfig.getCapacity().getUnit());
assertEquals(128L, memoryTierConfig.getCapacity().getValue());
DiskTierConfig diskTierConfig = tieredStoreConfig.getDiskTierConfig();
assertTrue(diskTierConfig.isEnabled());
assertEquals("the-local0751", diskTierConfig.getDeviceName());
}
Aggregations