use of com.hazelcast.config.CacheSimpleEntryListenerConfig in project hazelcast by hazelcast.
the class DynamicConfigXmlGenerator method cacheXmlGenerator.
public static void cacheXmlGenerator(ConfigXmlGenerator.XmlGenerator gen, Config config) {
for (CacheSimpleConfig c : config.getCacheConfigs().values()) {
gen.open("cache", "name", c.getName());
if (c.getKeyType() != null) {
gen.node("key-type", null, "class-name", c.getKeyType());
}
if (c.getValueType() != null) {
gen.node("value-type", null, "class-name", c.getValueType());
}
gen.node("statistics-enabled", c.isStatisticsEnabled()).node("management-enabled", c.isManagementEnabled()).node("read-through", c.isReadThrough()).node("write-through", c.isWriteThrough());
checkAndFillCacheLoaderFactoryConfigXml(gen, c.getCacheLoaderFactory());
checkAndFillCacheLoaderConfigXml(gen, c.getCacheLoader());
checkAndFillCacheWriterFactoryConfigXml(gen, c.getCacheWriterFactory());
checkAndFillCacheWriterConfigXml(gen, c.getCacheWriter());
cacheExpiryPolicyFactoryConfigXmlGenerator(gen, c.getExpiryPolicyFactoryConfig());
gen.open("cache-entry-listeners");
for (CacheSimpleEntryListenerConfig el : c.getCacheEntryListeners()) {
gen.open("cache-entry-listener", "old-value-required", el.isOldValueRequired(), "synchronous", el.isSynchronous()).node("cache-entry-listener-factory", null, "class-name", el.getCacheEntryListenerFactory()).node("cache-entry-event-filter-factory", null, "class-name", el.getCacheEntryEventFilterFactory()).close();
}
gen.close().node("in-memory-format", c.getInMemoryFormat()).node("backup-count", c.getBackupCount()).node("async-backup-count", c.getAsyncBackupCount());
evictionConfigXmlGenerator(gen, c.getEvictionConfig());
wanReplicationConfigXmlGenerator(gen, c.getWanReplicationRef());
gen.node("split-brain-protection-ref", c.getSplitBrainProtectionName());
cachePartitionLostListenerConfigXmlGenerator(gen, c.getPartitionLostListenerConfigs());
gen.node("merge-policy", c.getMergePolicyConfig().getPolicy(), "batch-size", c.getMergePolicyConfig().getBatchSize());
appendEventJournalConfig(gen, c.getEventJournalConfig());
appendDataPersistenceConfig(gen, c.getDataPersistenceConfig());
if (c.getMerkleTreeConfig().getEnabled() != null) {
appendMerkleTreeConfig(gen, c.getMerkleTreeConfig());
}
gen.node("disable-per-entry-invalidation-events", c.isDisablePerEntryInvalidationEvents()).close();
}
}
use of com.hazelcast.config.CacheSimpleEntryListenerConfig in project hazelcast by hazelcast.
the class CustomTypeFactory method createCacheSimpleEntryListenerConfig.
public static CacheSimpleEntryListenerConfig createCacheSimpleEntryListenerConfig(boolean oldValueRequired, boolean synchronous, String cacheEntryListenerFactory, String cacheEntryEventFilterFactory) {
CacheSimpleEntryListenerConfig config = new CacheSimpleEntryListenerConfig();
config.setOldValueRequired(oldValueRequired);
config.setSynchronous(synchronous);
config.setCacheEntryListenerFactory(cacheEntryListenerFactory);
config.setCacheEntryEventFilterFactory(cacheEntryEventFilterFactory);
return config;
}
use of com.hazelcast.config.CacheSimpleEntryListenerConfig in project hazelcast by hazelcast.
the class MemberDomConfigProcessor method handleCacheEntryListenerNode.
protected void handleCacheEntryListenerNode(CacheSimpleConfig cacheSimpleConfig, Node listenerNode) {
CacheSimpleEntryListenerConfig listenerConfig = new CacheSimpleEntryListenerConfig();
for (Node listenerChildNode : childElements(listenerNode)) {
if (matches("cache-entry-listener-factory", cleanNodeName(listenerChildNode))) {
listenerConfig.setCacheEntryListenerFactory(getAttribute(listenerChildNode, "class-name"));
}
if (matches("cache-entry-event-filter-factory", cleanNodeName(listenerChildNode))) {
listenerConfig.setCacheEntryEventFilterFactory(getAttribute(listenerChildNode, "class-name"));
}
}
listenerConfig.setOldValueRequired(getBooleanValue(getTextContent(getNamedItemNode(listenerNode, "old-value-required"))));
listenerConfig.setSynchronous(getBooleanValue(getTextContent(getNamedItemNode(listenerNode, "synchronous"))));
cacheSimpleConfig.addEntryListenerConfig(listenerConfig);
}
use of com.hazelcast.config.CacheSimpleEntryListenerConfig in project hazelcast by hazelcast.
the class AbstractDynamicConfigGeneratorTest method testCacheAttributes.
// CACHE
@Test
public void testCacheAttributes() {
CacheSimpleConfig expectedConfig = new CacheSimpleConfig().setName("testCache").setEvictionConfig(evictionConfig()).setInMemoryFormat(InMemoryFormat.OBJECT).setBackupCount(2).setAsyncBackupCount(3).setCacheLoader("cacheLoader").setCacheWriter("cacheWriter").setExpiryPolicyFactoryConfig(new CacheSimpleConfig.ExpiryPolicyFactoryConfig("expiryPolicyFactory")).setManagementEnabled(true).setStatisticsEnabled(true).setKeyType("keyType").setValueType("valueType").setReadThrough(true).setDataPersistenceConfig(dataPersistenceConfig()).setEventJournalConfig(eventJournalConfig()).setCacheEntryListeners(singletonList(cacheSimpleEntryListenerConfig())).setWriteThrough(true).setPartitionLostListenerConfigs(singletonList(new CachePartitionLostListenerConfig("partitionLostListener"))).setSplitBrainProtectionName("testSplitBrainProtection");
expectedConfig.getMergePolicyConfig().setPolicy("HigherHitsMergePolicy").setBatchSize(99);
expectedConfig.setDisablePerEntryInvalidationEvents(true);
expectedConfig.setWanReplicationRef(wanReplicationRef());
Config config = new Config().addCacheConfig(expectedConfig);
Config decConfig = getNewConfigViaGenerator(config);
CacheSimpleConfig actualConfig = decConfig.getCacheConfig("testCache");
assertEquals(expectedConfig, actualConfig);
}
use of com.hazelcast.config.CacheSimpleEntryListenerConfig in project hazelcast by hazelcast.
the class AbstractDynamicConfigGeneratorTest method cacheSimpleEntryListenerConfig.
private static CacheSimpleEntryListenerConfig cacheSimpleEntryListenerConfig() {
CacheSimpleEntryListenerConfig entryListenerConfig = new CacheSimpleEntryListenerConfig();
entryListenerConfig.setCacheEntryListenerFactory("entryListenerFactory");
entryListenerConfig.setSynchronous(true);
entryListenerConfig.setOldValueRequired(true);
entryListenerConfig.setCacheEntryEventFilterFactory("entryEventFilterFactory");
return entryListenerConfig;
}
Aggregations