Search in sources :

Example 1 with MapPublisherRegistry

use of com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry in project hazelcast by hazelcast.

the class MapPostJoinAwareService method getAccumulatorInfoList.

private List<AccumulatorInfo> getAccumulatorInfoList() {
    List<AccumulatorInfo> infoList = new ArrayList<AccumulatorInfo>();
    PublisherContext publisherContext = mapServiceContext.getQueryCacheContext().getPublisherContext();
    MapPublisherRegistry mapPublisherRegistry = publisherContext.getMapPublisherRegistry();
    Map<String, PublisherRegistry> cachesOfMaps = mapPublisherRegistry.getAll();
    Collection<PublisherRegistry> publisherRegistries = cachesOfMaps.values();
    for (PublisherRegistry publisherRegistry : publisherRegistries) {
        Collection<PartitionAccumulatorRegistry> partitionAccumulatorRegistries = publisherRegistry.getAll().values();
        for (PartitionAccumulatorRegistry accumulatorRegistry : partitionAccumulatorRegistries) {
            AccumulatorInfo info = accumulatorRegistry.getInfo();
            infoList.add(info);
        }
    }
    return infoList;
}
Also used : MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PartitionAccumulatorRegistry(com.hazelcast.map.impl.querycache.publisher.PartitionAccumulatorRegistry) MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PublisherRegistry(com.hazelcast.map.impl.querycache.publisher.PublisherRegistry) ArrayList(java.util.ArrayList) AccumulatorInfo(com.hazelcast.map.impl.querycache.accumulator.AccumulatorInfo) PublisherContext(com.hazelcast.map.impl.querycache.publisher.PublisherContext)

Example 2 with MapPublisherRegistry

use of com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry in project hazelcast by hazelcast.

the class QueryCacheEventPublisher method getPartitionAccumulatorRegistries.

private Collection<PartitionAccumulatorRegistry> getPartitionAccumulatorRegistries(String mapName) {
    PublisherContext publisherContext = queryCacheContext.getPublisherContext();
    MapPublisherRegistry mapPublisherRegistry = publisherContext.getMapPublisherRegistry();
    PublisherRegistry publisherRegistry = mapPublisherRegistry.getOrNull(mapName);
    if (publisherRegistry == null) {
        return Collections.emptySet();
    }
    // this collection contains all query-caches for this map
    return publisherRegistry.getAll().values();
}
Also used : MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PublisherRegistry(com.hazelcast.map.impl.querycache.publisher.PublisherRegistry) PublisherContext(com.hazelcast.map.impl.querycache.publisher.PublisherContext)

Example 3 with MapPublisherRegistry

use of com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry in project hazelcast by hazelcast.

the class DestroyQueryCacheOperation method removePublisherAccumulators.

private void removePublisherAccumulators() {
    PublisherContext publisherContext = getPublisherContext();
    MapPublisherRegistry mapPublisherRegistry = publisherContext.getMapPublisherRegistry();
    PublisherRegistry publisherRegistry = mapPublisherRegistry.getOrNull(name);
    if (publisherRegistry == null) {
        return;
    }
    publisherRegistry.remove(cacheName);
}
Also used : MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PublisherRegistry(com.hazelcast.map.impl.querycache.publisher.PublisherRegistry) PublisherContext(com.hazelcast.map.impl.querycache.publisher.PublisherContext)

Example 4 with MapPublisherRegistry

use of com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry in project hazelcast by hazelcast.

the class PublisherCreateOperation method registerPublisherAccumulator.

private void registerPublisherAccumulator() {
    String mapName = info.getMapName();
    String cacheName = info.getCacheName();
    PublisherContext publisherContext = getPublisherContext();
    MapPublisherRegistry mapPublisherRegistry = publisherContext.getMapPublisherRegistry();
    PublisherRegistry publisherRegistry = mapPublisherRegistry.getOrCreate(mapName);
    PartitionAccumulatorRegistry partitionAccumulatorRegistry = publisherRegistry.getOrCreate(cacheName);
    partitionAccumulatorRegistry.setUuid(getCallerUuid());
}
Also used : MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PartitionAccumulatorRegistry(com.hazelcast.map.impl.querycache.publisher.PartitionAccumulatorRegistry) MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PublisherRegistry(com.hazelcast.map.impl.querycache.publisher.PublisherRegistry) PublisherContext(com.hazelcast.map.impl.querycache.publisher.PublisherContext)

Example 5 with MapPublisherRegistry

use of com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry in project hazelcast by hazelcast.

the class AccumulatorScannerTask method scanAccumulators.

void scanAccumulators() {
    PublisherContext publisherContext = context.getPublisherContext();
    MapPublisherRegistry mapPublisherRegistry = publisherContext.getMapPublisherRegistry();
    Map<String, PublisherRegistry> publisherRegistryMap = mapPublisherRegistry.getAll();
    Set<Map.Entry<String, PublisherRegistry>> publishers = publisherRegistryMap.entrySet();
    for (Map.Entry<String, PublisherRegistry> entry : publishers) {
        PublisherRegistry publisherRegistry = entry.getValue();
        Map<String, PartitionAccumulatorRegistry> accumulatorRegistryMap = publisherRegistry.getAll();
        Set<Map.Entry<String, PartitionAccumulatorRegistry>> accumulators = accumulatorRegistryMap.entrySet();
        for (Map.Entry<String, PartitionAccumulatorRegistry> accumulatorRegistryEntry : accumulators) {
            PartitionAccumulatorRegistry accumulatorRegistry = accumulatorRegistryEntry.getValue();
            Map<Integer, Accumulator> accumulatorMap = accumulatorRegistry.getAll();
            for (Map.Entry<Integer, Accumulator> accumulatorEntry : accumulatorMap.entrySet()) {
                Integer partitionId = accumulatorEntry.getKey();
                Accumulator accumulator = accumulatorEntry.getValue();
                int size = accumulator.size();
                if (size > 0) {
                    consumer.consume(accumulator, partitionId);
                }
            }
        }
    }
    sendConsumerOperation();
    consumer.reset();
}
Also used : MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PartitionAccumulatorRegistry(com.hazelcast.map.impl.querycache.publisher.PartitionAccumulatorRegistry) MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PublisherRegistry(com.hazelcast.map.impl.querycache.publisher.PublisherRegistry) PublisherContext(com.hazelcast.map.impl.querycache.publisher.PublisherContext) HashMap(java.util.HashMap) Map(java.util.Map)

Aggregations

MapPublisherRegistry (com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry)9 PublisherContext (com.hazelcast.map.impl.querycache.publisher.PublisherContext)9 PublisherRegistry (com.hazelcast.map.impl.querycache.publisher.PublisherRegistry)9 PartitionAccumulatorRegistry (com.hazelcast.map.impl.querycache.publisher.PartitionAccumulatorRegistry)4 AccumulatorInfo (com.hazelcast.map.impl.querycache.accumulator.AccumulatorInfo)3 QueryCacheContext (com.hazelcast.map.impl.querycache.QueryCacheContext)2 IMapEvent (com.hazelcast.core.IMapEvent)1 MapService (com.hazelcast.map.impl.MapService)1 MapServiceContext (com.hazelcast.map.impl.MapServiceContext)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1