use of com.hazelcast.config.QueueStoreConfig in project hazelcast by hazelcast.
the class AddQueueConfigMessageTask method getConfig.
@Override
protected IdentifiedDataSerializable getConfig() {
QueueConfig config = new QueueConfig(parameters.name);
config.setAsyncBackupCount(parameters.asyncBackupCount);
config.setBackupCount(parameters.backupCount);
config.setEmptyQueueTtl(parameters.emptyQueueTtl);
config.setMaxSize(parameters.maxSize);
config.setSplitBrainProtectionName(parameters.splitBrainProtectionName);
config.setStatisticsEnabled(parameters.statisticsEnabled);
if (parameters.queueStoreConfig != null) {
QueueStoreConfig storeConfig = parameters.queueStoreConfig.asQueueStoreConfig(serializationService);
config.setQueueStoreConfig(storeConfig);
}
if (parameters.listenerConfigs != null && !parameters.listenerConfigs.isEmpty()) {
List<ItemListenerConfig> itemListenerConfigs = (List<ItemListenerConfig>) adaptListenerConfigs(parameters.listenerConfigs);
config.setItemListenerConfigs(itemListenerConfigs);
}
MergePolicyConfig mergePolicyConfig = mergePolicyConfig(parameters.mergePolicy, parameters.mergeBatchSize);
config.setMergePolicyConfig(mergePolicyConfig);
if (parameters.isPriorityComparatorClassNameExists) {
config.setPriorityComparatorClassName(parameters.priorityComparatorClassName);
}
return config;
}
use of com.hazelcast.config.QueueStoreConfig in project hazelcast by hazelcast.
the class TestFullApplicationContext method testQueueConfig.
@Test
public void testQueueConfig() {
QueueConfig testQConfig = config.getQueueConfig("testQ");
assertNotNull(testQConfig);
assertEquals("testQ", testQConfig.getName());
assertEquals(1000, testQConfig.getMaxSize());
assertEquals(1, testQConfig.getItemListenerConfigs().size());
assertTrue(testQConfig.isStatisticsEnabled());
ItemListenerConfig listenerConfig = testQConfig.getItemListenerConfigs().get(0);
assertEquals("com.hazelcast.spring.DummyItemListener", listenerConfig.getClassName());
assertTrue(listenerConfig.isIncludeValue());
QueueConfig qConfig = config.getQueueConfig("queueWithSplitBrainConfig");
assertNotNull(qConfig);
assertEquals("queueWithSplitBrainConfig", qConfig.getName());
assertEquals(2500, qConfig.getMaxSize());
assertFalse(qConfig.isStatisticsEnabled());
assertEquals(100, qConfig.getEmptyQueueTtl());
assertEquals("my-split-brain-protection", qConfig.getSplitBrainProtectionName());
assertEquals("com.hazelcast.collection.impl.queue.model.PriorityElementComparator", qConfig.getPriorityComparatorClassName());
MergePolicyConfig mergePolicyConfig = qConfig.getMergePolicyConfig();
assertEquals("DiscardMergePolicy", mergePolicyConfig.getPolicy());
assertEquals(2342, mergePolicyConfig.getBatchSize());
QueueConfig queueWithStore1 = config.getQueueConfig("queueWithStore1");
assertNotNull(queueWithStore1);
QueueStoreConfig storeConfig1 = queueWithStore1.getQueueStoreConfig();
assertNotNull(storeConfig1);
assertEquals(DummyQueueStore.class.getName(), storeConfig1.getClassName());
QueueConfig queueWithStore2 = config.getQueueConfig("queueWithStore2");
assertNotNull(queueWithStore2);
QueueStoreConfig storeConfig2 = queueWithStore2.getQueueStoreConfig();
assertNotNull(storeConfig2);
assertEquals(DummyQueueStoreFactory.class.getName(), storeConfig2.getFactoryClassName());
QueueConfig queueWithStore3 = config.getQueueConfig("queueWithStore3");
assertNotNull(queueWithStore3);
QueueStoreConfig storeConfig3 = queueWithStore3.getQueueStoreConfig();
assertNotNull(storeConfig3);
assertEquals(dummyQueueStore, storeConfig3.getStoreImplementation());
QueueConfig queueWithStore4 = config.getQueueConfig("queueWithStore4");
assertNotNull(queueWithStore4);
QueueStoreConfig storeConfig4 = queueWithStore4.getQueueStoreConfig();
assertNotNull(storeConfig4);
assertEquals(dummyQueueStoreFactory, storeConfig4.getFactoryImplementation());
}
use of com.hazelcast.config.QueueStoreConfig in project hazelcast by hazelcast.
the class QueueContainer method setConfig.
public void setConfig(QueueConfig config, NodeEngine nodeEngine, QueueService service) {
this.nodeEngine = nodeEngine;
this.service = service;
this.logger = nodeEngine.getLogger(QueueContainer.class);
this.config = new QueueConfig(config);
this.isPriorityQueue = config.isPriorityQueue();
// init QueueStore
QueueStoreConfig storeConfig = config.getQueueStoreConfig();
SerializationService serializationService = nodeEngine.getSerializationService();
ClassLoader classLoader = nodeEngine.getConfigClassLoader();
// otherwise, no change is needed
if (itemQueue != null && isPriorityQueue) {
Queue<QueueItem> copy = createPriorityQueue();
copy.addAll(itemQueue);
itemQueue = copy;
}
this.store = QueueStoreWrapper.create(name, storeConfig, serializationService, classLoader);
if (isPriorityQueue && store.isEnabled() && store.getMemoryLimit() < Integer.MAX_VALUE) {
logger.warning("The queue '" + name + "' has both a comparator class and a store memory limit set. " + "The memory limit will be ignored.");
}
}
use of com.hazelcast.config.QueueStoreConfig in project hazelcast by hazelcast.
the class ConfigDataSerializerHook method createFactory.
@Override
public DataSerializableFactory createFactory() {
ConstructorFunction<Integer, IdentifiedDataSerializable>[] constructors = new ConstructorFunction[LEN];
constructors[WAN_REPLICATION_CONFIG] = arg -> new WanReplicationConfig();
constructors[WAN_CONSUMER_CONFIG] = arg -> new WanConsumerConfig();
constructors[WAN_CUSTOM_PUBLISHER_CONFIG] = arg -> new WanCustomPublisherConfig();
constructors[WAN_BATCH_PUBLISHER_CONFIG] = arg -> new WanBatchPublisherConfig();
constructors[NEAR_CACHE_CONFIG] = arg -> new NearCacheConfig();
constructors[NEAR_CACHE_PRELOADER_CONFIG] = arg -> new NearCachePreloaderConfig();
constructors[ADD_DYNAMIC_CONFIG_OP] = arg -> new AddDynamicConfigOperation();
constructors[DYNAMIC_CONFIG_PRE_JOIN_OP] = arg -> new DynamicConfigPreJoinOperation();
constructors[MULTIMAP_CONFIG] = arg -> new MultiMapConfig();
constructors[LISTENER_CONFIG] = arg -> new ListenerConfig();
constructors[ENTRY_LISTENER_CONFIG] = arg -> new EntryListenerConfig();
constructors[MAP_CONFIG] = arg -> new MapConfig();
constructors[MAP_STORE_CONFIG] = arg -> new MapStoreConfig();
constructors[MAP_PARTITION_LOST_LISTENER_CONFIG] = arg -> new MapPartitionLostListenerConfig();
constructors[INDEX_CONFIG] = arg -> new IndexConfig();
constructors[MAP_ATTRIBUTE_CONFIG] = arg -> new AttributeConfig();
constructors[QUERY_CACHE_CONFIG] = arg -> new QueryCacheConfig();
constructors[PREDICATE_CONFIG] = arg -> new PredicateConfig();
constructors[PARTITION_STRATEGY_CONFIG] = arg -> new PartitioningStrategyConfig();
constructors[HOT_RESTART_CONFIG] = arg -> new HotRestartConfig();
constructors[TOPIC_CONFIG] = arg -> new TopicConfig();
constructors[RELIABLE_TOPIC_CONFIG] = arg -> new ReliableTopicConfig();
constructors[ITEM_LISTENER_CONFIG] = arg -> new ItemListenerConfig();
constructors[QUEUE_STORE_CONFIG] = arg -> new QueueStoreConfig();
constructors[QUEUE_CONFIG] = arg -> new QueueConfig();
constructors[LIST_CONFIG] = arg -> new ListConfig();
constructors[SET_CONFIG] = arg -> new SetConfig();
constructors[EXECUTOR_CONFIG] = arg -> new ExecutorConfig();
constructors[DURABLE_EXECUTOR_CONFIG] = arg -> new DurableExecutorConfig();
constructors[SCHEDULED_EXECUTOR_CONFIG] = arg -> new ScheduledExecutorConfig();
constructors[REPLICATED_MAP_CONFIG] = arg -> new ReplicatedMapConfig();
constructors[RINGBUFFER_CONFIG] = arg -> new RingbufferConfig();
constructors[RINGBUFFER_STORE_CONFIG] = arg -> new RingbufferStoreConfig();
constructors[CARDINALITY_ESTIMATOR_CONFIG] = arg -> new CardinalityEstimatorConfig();
constructors[SIMPLE_CACHE_CONFIG] = arg -> new CacheSimpleConfig();
constructors[SIMPLE_CACHE_CONFIG_EXPIRY_POLICY_FACTORY_CONFIG] = arg -> new CacheSimpleConfig.ExpiryPolicyFactoryConfig();
constructors[SIMPLE_CACHE_CONFIG_TIMED_EXPIRY_POLICY_FACTORY_CONFIG] = arg -> new CacheSimpleConfig.ExpiryPolicyFactoryConfig.TimedExpiryPolicyFactoryConfig();
constructors[SIMPLE_CACHE_CONFIG_DURATION_CONFIG] = arg -> new CacheSimpleConfig.ExpiryPolicyFactoryConfig.DurationConfig();
constructors[SPLIT_BRAIN_PROTECTION_CONFIG] = arg -> new SplitBrainProtectionConfig();
constructors[EVENT_JOURNAL_CONFIG] = arg -> new EventJournalConfig();
constructors[SPLIT_BRAIN_PROTECTION_LISTENER_CONFIG] = arg -> new SplitBrainProtectionListenerConfig();
constructors[CACHE_PARTITION_LOST_LISTENER_CONFIG] = arg -> new CachePartitionLostListenerConfig();
constructors[SIMPLE_CACHE_ENTRY_LISTENER_CONFIG] = arg -> new CacheSimpleEntryListenerConfig();
constructors[FLAKE_ID_GENERATOR_CONFIG] = arg -> new FlakeIdGeneratorConfig();
constructors[MERGE_POLICY_CONFIG] = arg -> new MergePolicyConfig();
constructors[PN_COUNTER_CONFIG] = arg -> new PNCounterConfig();
constructors[MERKLE_TREE_CONFIG] = arg -> new MerkleTreeConfig();
constructors[WAN_SYNC_CONFIG] = arg -> new WanSyncConfig();
constructors[KUBERNETES_CONFIG] = arg -> new KubernetesConfig();
constructors[EUREKA_CONFIG] = arg -> new EurekaConfig();
constructors[GCP_CONFIG] = arg -> new GcpConfig();
constructors[AZURE_CONFIG] = arg -> new AzureConfig();
constructors[AWS_CONFIG] = arg -> new AwsConfig();
constructors[DISCOVERY_CONFIG] = arg -> new DiscoveryConfig();
constructors[DISCOVERY_STRATEGY_CONFIG] = arg -> new DiscoveryStrategyConfig();
constructors[WAN_REPLICATION_REF] = arg -> new WanReplicationRef();
constructors[EVICTION_CONFIG] = arg -> new EvictionConfig();
constructors[PERMISSION_CONFIG] = arg -> new PermissionConfig();
constructors[BITMAP_INDEX_OPTIONS] = arg -> new BitmapIndexOptions();
constructors[DATA_PERSISTENCE_CONFIG] = arg -> new DataPersistenceConfig();
constructors[TIERED_STORE_CONFIG] = arg -> new TieredStoreConfig();
constructors[MEMORY_TIER_CONFIG] = arg -> new MemoryTierConfig();
constructors[DISK_TIER_CONFIG] = arg -> new DiskTierConfig();
return new ArrayDataSerializableFactory(constructors);
}
use of com.hazelcast.config.QueueStoreConfig in project hazelcast by hazelcast.
the class MemberDomConfigProcessor method handleQueueNode.
void handleQueueNode(Node node, final QueueConfig qConfig) {
for (Node n : childElements(node)) {
String nodeName = cleanNodeName(n);
if (matches("max-size", nodeName)) {
qConfig.setMaxSize(getIntegerValue("max-size", getTextContent(n)));
} else if (matches("backup-count", nodeName)) {
qConfig.setBackupCount(getIntegerValue("backup-count", getTextContent(n)));
} else if (matches("async-backup-count", nodeName)) {
qConfig.setAsyncBackupCount(getIntegerValue("async-backup-count", getTextContent(n)));
} else if (matches("item-listeners", nodeName)) {
handleItemListeners(n, qConfig::addItemListenerConfig);
} else if (matches("statistics-enabled", nodeName)) {
qConfig.setStatisticsEnabled(getBooleanValue(getTextContent(n)));
} else if (matches("queue-store", nodeName)) {
QueueStoreConfig queueStoreConfig = createQueueStoreConfig(n);
qConfig.setQueueStoreConfig(queueStoreConfig);
} else if (matches("split-brain-protection-ref", nodeName)) {
qConfig.setSplitBrainProtectionName(getTextContent(n));
} else if (matches("empty-queue-ttl", nodeName)) {
qConfig.setEmptyQueueTtl(getIntegerValue("empty-queue-ttl", getTextContent(n)));
} else if (matches("merge-policy", nodeName)) {
MergePolicyConfig mpConfig = createMergePolicyConfig(n, qConfig.getMergePolicyConfig());
qConfig.setMergePolicyConfig(mpConfig);
} else if (matches("priority-comparator-class-name", nodeName)) {
qConfig.setPriorityComparatorClassName(getTextContent(n));
}
}
config.addQueueConfig(qConfig);
}
Aggregations