Search in sources :

Example 16 with QueueStoreConfig

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;
}
Also used : MergePolicyConfig(com.hazelcast.config.MergePolicyConfig) QueueStoreConfig(com.hazelcast.config.QueueStoreConfig) QueueConfig(com.hazelcast.config.QueueConfig) ItemListenerConfig(com.hazelcast.config.ItemListenerConfig) List(java.util.List)

Example 17 with QueueStoreConfig

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());
}
Also used : MergePolicyConfig(com.hazelcast.config.MergePolicyConfig) QueueStoreConfig(com.hazelcast.config.QueueStoreConfig) QueueConfig(com.hazelcast.config.QueueConfig) ItemListenerConfig(com.hazelcast.config.ItemListenerConfig) Test(org.junit.Test) QuickTest(com.hazelcast.test.annotation.QuickTest)

Example 18 with QueueStoreConfig

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.");
    }
}
Also used : QueueStoreConfig(com.hazelcast.config.QueueStoreConfig) QueueConfig(com.hazelcast.config.QueueConfig) SerializationService(com.hazelcast.internal.serialization.SerializationService) TxQueueItem(com.hazelcast.collection.impl.txnqueue.TxQueueItem)

Example 19 with QueueStoreConfig

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);
}
Also used : PermissionConfig(com.hazelcast.config.PermissionConfig) AzureConfig(com.hazelcast.config.AzureConfig) AddDynamicConfigOperation(com.hazelcast.internal.dynamicconfig.AddDynamicConfigOperation) PNCounterConfig(com.hazelcast.config.PNCounterConfig) ExecutorConfig(com.hazelcast.config.ExecutorConfig) ScheduledExecutorConfig(com.hazelcast.config.ScheduledExecutorConfig) DurableExecutorConfig(com.hazelcast.config.DurableExecutorConfig) WanBatchPublisherConfig(com.hazelcast.config.WanBatchPublisherConfig) QueueStoreConfig(com.hazelcast.config.QueueStoreConfig) WanSyncConfig(com.hazelcast.config.WanSyncConfig) DataPersistenceConfig(com.hazelcast.config.DataPersistenceConfig) ReplicatedMapConfig(com.hazelcast.config.ReplicatedMapConfig) WanCustomPublisherConfig(com.hazelcast.config.WanCustomPublisherConfig) EurekaConfig(com.hazelcast.config.EurekaConfig) WanReplicationConfig(com.hazelcast.config.WanReplicationConfig) KubernetesConfig(com.hazelcast.config.KubernetesConfig) MultiMapConfig(com.hazelcast.config.MultiMapConfig) CacheSimpleEntryListenerConfig(com.hazelcast.config.CacheSimpleEntryListenerConfig) EntryListenerConfig(com.hazelcast.config.EntryListenerConfig) PredicateConfig(com.hazelcast.config.PredicateConfig) NearCachePreloaderConfig(com.hazelcast.config.NearCachePreloaderConfig) RingbufferConfig(com.hazelcast.config.RingbufferConfig) RingbufferStoreConfig(com.hazelcast.config.RingbufferStoreConfig) GcpConfig(com.hazelcast.config.GcpConfig) AttributeConfig(com.hazelcast.config.AttributeConfig) CacheSimpleEntryListenerConfig(com.hazelcast.config.CacheSimpleEntryListenerConfig) MergePolicyConfig(com.hazelcast.config.MergePolicyConfig) QueueConfig(com.hazelcast.config.QueueConfig) QueryCacheConfig(com.hazelcast.config.QueryCacheConfig) DiscoveryStrategyConfig(com.hazelcast.config.DiscoveryStrategyConfig) DynamicConfigPreJoinOperation(com.hazelcast.internal.dynamicconfig.DynamicConfigPreJoinOperation) NearCacheConfig(com.hazelcast.config.NearCacheConfig) BitmapIndexOptions(com.hazelcast.config.BitmapIndexOptions) MemoryTierConfig(com.hazelcast.config.MemoryTierConfig) MapStoreConfig(com.hazelcast.config.MapStoreConfig) SplitBrainProtectionConfig(com.hazelcast.config.SplitBrainProtectionConfig) MerkleTreeConfig(com.hazelcast.config.MerkleTreeConfig) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) ItemListenerConfig(com.hazelcast.config.ItemListenerConfig) CacheSimpleEntryListenerConfig(com.hazelcast.config.CacheSimpleEntryListenerConfig) ListenerConfig(com.hazelcast.config.ListenerConfig) EntryListenerConfig(com.hazelcast.config.EntryListenerConfig) CachePartitionLostListenerConfig(com.hazelcast.config.CachePartitionLostListenerConfig) MapPartitionLostListenerConfig(com.hazelcast.config.MapPartitionLostListenerConfig) SplitBrainProtectionListenerConfig(com.hazelcast.config.SplitBrainProtectionListenerConfig) WanConsumerConfig(com.hazelcast.config.WanConsumerConfig) FlakeIdGeneratorConfig(com.hazelcast.config.FlakeIdGeneratorConfig) DiskTierConfig(com.hazelcast.config.DiskTierConfig) ItemListenerConfig(com.hazelcast.config.ItemListenerConfig) SetConfig(com.hazelcast.config.SetConfig) MapConfig(com.hazelcast.config.MapConfig) MultiMapConfig(com.hazelcast.config.MultiMapConfig) ReplicatedMapConfig(com.hazelcast.config.ReplicatedMapConfig) ListConfig(com.hazelcast.config.ListConfig) CardinalityEstimatorConfig(com.hazelcast.config.CardinalityEstimatorConfig) HotRestartConfig(com.hazelcast.config.HotRestartConfig) CacheSimpleConfig(com.hazelcast.config.CacheSimpleConfig) AwsConfig(com.hazelcast.config.AwsConfig) MapPartitionLostListenerConfig(com.hazelcast.config.MapPartitionLostListenerConfig) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) WanReplicationRef(com.hazelcast.config.WanReplicationRef) EvictionConfig(com.hazelcast.config.EvictionConfig) DurableExecutorConfig(com.hazelcast.config.DurableExecutorConfig) CachePartitionLostListenerConfig(com.hazelcast.config.CachePartitionLostListenerConfig) ScheduledExecutorConfig(com.hazelcast.config.ScheduledExecutorConfig) ReliableTopicConfig(com.hazelcast.config.ReliableTopicConfig) TopicConfig(com.hazelcast.config.TopicConfig) EventJournalConfig(com.hazelcast.config.EventJournalConfig) ConstructorFunction(com.hazelcast.internal.util.ConstructorFunction) PartitioningStrategyConfig(com.hazelcast.config.PartitioningStrategyConfig) IndexConfig(com.hazelcast.config.IndexConfig) TieredStoreConfig(com.hazelcast.config.TieredStoreConfig) DiscoveryConfig(com.hazelcast.config.DiscoveryConfig) ArrayDataSerializableFactory(com.hazelcast.internal.serialization.impl.ArrayDataSerializableFactory)

Example 20 with QueueStoreConfig

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);
}
Also used : MergePolicyConfig(com.hazelcast.config.MergePolicyConfig) QueueStoreConfig(com.hazelcast.config.QueueStoreConfig) Node(org.w3c.dom.Node)

Aggregations

QueueStoreConfig (com.hazelcast.config.QueueStoreConfig)24 Test (org.junit.Test)13 Config (com.hazelcast.config.Config)11 QuickTest (com.hazelcast.test.annotation.QuickTest)9 VersionedObject (com.hazelcast.collection.impl.queue.model.VersionedObject)8 HazelcastInstance (com.hazelcast.core.HazelcastInstance)8 ParallelJVMTest (com.hazelcast.test.annotation.ParallelJVMTest)8 MergePolicyConfig (com.hazelcast.config.MergePolicyConfig)7 QueueConfig (com.hazelcast.config.QueueConfig)6 ItemListenerConfig (com.hazelcast.config.ItemListenerConfig)4 AttributeConfig (com.hazelcast.config.AttributeConfig)2 AwsConfig (com.hazelcast.config.AwsConfig)2 CachePartitionLostListenerConfig (com.hazelcast.config.CachePartitionLostListenerConfig)2 CacheSimpleConfig (com.hazelcast.config.CacheSimpleConfig)2 CacheSimpleEntryListenerConfig (com.hazelcast.config.CacheSimpleEntryListenerConfig)2 CardinalityEstimatorConfig (com.hazelcast.config.CardinalityEstimatorConfig)2 DataPersistenceConfig (com.hazelcast.config.DataPersistenceConfig)2 DiscoveryConfig (com.hazelcast.config.DiscoveryConfig)2 DiscoveryStrategyConfig (com.hazelcast.config.DiscoveryStrategyConfig)2 DiskTierConfig (com.hazelcast.config.DiskTierConfig)2