use of com.hazelcast.config.QueryCacheConfig in project hazelcast by hazelcast.
the class AbstractQueryCacheEndToEndConstructor method createNew.
/**
* Here order of method calls should not change.
*/
@Override
public final InternalQueryCache createNew(String cacheId) {
try {
QueryCacheConfig queryCacheConfig = initQueryCacheConfig(request, cacheId);
if (queryCacheConfig == null) {
// be returned to user from IMap#getQueryCache call.
return NULL_QUERY_CACHE;
}
queryCache = createUnderlyingQueryCache(queryCacheConfig, request, cacheId);
AccumulatorInfo info = toAccumulatorInfo(queryCacheConfig, mapName, cacheId, predicate);
addInfoToSubscriberContext(info);
info.setPublishable(true);
UUID publisherListenerId = queryCache.getPublisherListenerId();
if (publisherListenerId == null) {
createSubscriberAccumulator(info);
}
createPublisherAccumulator(info, request.isUrgent());
} catch (Throwable throwable) {
removeQueryCacheConfig(mapName, request.getCacheName());
throw rethrow(throwable);
}
return queryCache;
}
use of com.hazelcast.config.QueryCacheConfig 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.QueryCacheConfig in project hazelcast by hazelcast.
the class ClientQueryCacheListenerTest method listenerShouldBeRegistered_whenConfiguredProgrammatically.
@Test
public void listenerShouldBeRegistered_whenConfiguredProgrammatically() {
final int valueCount = 100;
String mapName = randomString();
String qcName = randomString();
final QueryCacheAdditionListener listener = new QueryCacheAdditionListener();
QueryCacheConfig queryCacheConfig = new QueryCacheConfig(qcName).setPredicateConfig(new PredicateConfig(TRUE_PREDICATE)).addEntryListenerConfig(new EntryListenerConfig(listener, true, true));
ClientConfig config = new ClientConfig().addQueryCacheConfig(mapName, queryCacheConfig);
HazelcastInstance instance = factory.newHazelcastClient(config);
IMap<Integer, Employee> map = instance.getMap(mapName);
// trigger creation of the query cache
map.getQueryCache(qcName);
for (int i = 0; i < valueCount; i++) {
map.put(i, new Employee(i));
}
assertTrueEventually(new AssertTask() {
@Override
public void run() {
assertEquals(valueCount, listener.getAddedEventCount());
}
});
}
use of com.hazelcast.config.QueryCacheConfig in project hazelcast by hazelcast.
the class ClientQueryCacheBasicTest method setup.
// setup a map with 2 query caches, same predicate, one includes values, the other excludes values
@Before
public void setup() {
Config config = getConfig();
ClientConfig clientConfig = new ClientConfig();
clientConfig.addQueryCacheConfig(TEST_MAP_NAME, new QueryCacheConfig(QUERY_CACHE_NAME).setPredicateConfig(new PredicateConfig(predicate)).setIncludeValue(includeValues));
clientConfig.getConnectionStrategyConfig().getConnectionRetryConfig().setClusterConnectTimeoutMillis(Long.MAX_VALUE);
if (useNearCache) {
clientConfig.addNearCacheConfig(new NearCacheConfig().setName(TEST_MAP_NAME).setInvalidateOnChange(true));
}
clientConfig.setProperty(MapEventPublisherImpl.LISTENER_WITH_PREDICATE_PRODUCES_NATURAL_EVENT_TYPES.getName(), Boolean.toString(useQueryCacheNaturalFilteringStrategy));
factory = new TestHazelcastFactory();
factory.newHazelcastInstance(config);
HazelcastInstance client = factory.newHazelcastClient(clientConfig);
map = client.getMap(TEST_MAP_NAME);
queryCache = map.getQueryCache(QUERY_CACHE_NAME);
}
use of com.hazelcast.config.QueryCacheConfig in project hazelcast by hazelcast.
the class ClientQueryCacheRecreationTest method setUp.
@Before
public void setUp() {
server = factory.newHazelcastInstance(getConfig());
QueryCacheConfig queryCacheConfig = new QueryCacheConfig(queryCacheName);
ClientConfig config = new ClientConfig();
config.addQueryCacheConfig(mapName, queryCacheConfig);
config.getConnectionStrategyConfig().getConnectionRetryConfig().setClusterConnectTimeoutMillis((int) TimeUnit.SECONDS.toMillis(5));
client = factory.newHazelcastClient(config);
}
Aggregations