Search in sources :

Example 6 with QueryCacheContext

use of com.hazelcast.map.impl.querycache.QueryCacheContext in project hazelcast by hazelcast.

the class SetReadCursorOperation method setReadCursor.

private boolean setReadCursor() {
    QueryCacheContext context = getContext();
    Accumulator accumulator = getAccumulatorOrNull(context, name, cacheName, getPartitionId());
    if (accumulator == null) {
        return false;
    }
    return accumulator.setHead(sequence);
}
Also used : Accumulator(com.hazelcast.map.impl.querycache.accumulator.Accumulator) QueryCacheContext(com.hazelcast.map.impl.querycache.QueryCacheContext)

Example 7 with QueryCacheContext

use of com.hazelcast.map.impl.querycache.QueryCacheContext in project hazelcast by hazelcast.

the class AccumulatorSweeper method flushAccumulator.

public static void flushAccumulator(PublisherContext publisherContext, int partitionId) {
    QueryCacheContext context = publisherContext.getContext();
    EventPublisherAccumulatorProcessor processor = new EventPublisherAccumulatorProcessor(context.getQueryCacheEventService());
    PublisherAccumulatorHandler handler = new PublisherAccumulatorHandler(context, processor);
    MapPublisherRegistry mapPublisherRegistry = publisherContext.getMapPublisherRegistry();
    Map<String, PublisherRegistry> allPublisherRegistryMap = mapPublisherRegistry.getAll();
    for (PublisherRegistry publisherRegistry : allPublisherRegistryMap.values()) {
        Map<String, PartitionAccumulatorRegistry> accumulatorRegistryMap = publisherRegistry.getAll();
        for (PartitionAccumulatorRegistry accumulatorRegistry : accumulatorRegistryMap.values()) {
            Map<Integer, Accumulator> accumulatorMap = accumulatorRegistry.getAll();
            Accumulator accumulator = accumulatorMap.get(partitionId);
            if (accumulator == null) {
                continue;
            }
            processor.setInfo(accumulator.getInfo());
            // give 0 to delay-time in order to fetch all events in the accumulator
            accumulator.poll(handler, 0, TimeUnit.SECONDS);
            // send end event
            QueryCacheEventData eventData = createEndOfSequenceEvent(partitionId);
            processor.process(eventData);
        }
    }
}
Also used : Accumulator(com.hazelcast.map.impl.querycache.accumulator.Accumulator) QueryCacheContext(com.hazelcast.map.impl.querycache.QueryCacheContext) QueryCacheEventData(com.hazelcast.map.impl.querycache.event.QueryCacheEventData)

Example 8 with QueryCacheContext

use of com.hazelcast.map.impl.querycache.QueryCacheContext in project hazelcast by hazelcast.

the class DefaultRecordStore method hasQueryCache.

/**
     * @return {@code true} if this IMap has any query-cache, otherwise return {@code false}
     */
private boolean hasQueryCache() {
    QueryCacheContext queryCacheContext = mapServiceContext.getQueryCacheContext();
    PublisherContext publisherContext = queryCacheContext.getPublisherContext();
    MapPublisherRegistry mapPublisherRegistry = publisherContext.getMapPublisherRegistry();
    PublisherRegistry publisherRegistry = mapPublisherRegistry.getOrNull(name);
    return publisherRegistry != null;
}
Also used : MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) PublisherRegistry(com.hazelcast.map.impl.querycache.publisher.PublisherRegistry) MapPublisherRegistry(com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry) QueryCacheContext(com.hazelcast.map.impl.querycache.QueryCacheContext) PublisherContext(com.hazelcast.map.impl.querycache.publisher.PublisherContext)

Example 9 with QueryCacheContext

use of com.hazelcast.map.impl.querycache.QueryCacheContext in project hazelcast by hazelcast.

the class ClientMapProxy method getQueryCacheInternal.

private QueryCache getQueryCacheInternal(String name, MapListener listener, Predicate predicate, Boolean includeValue, IMap map) {
    QueryCacheContext context = getQueryContext();
    QueryCacheRequest request = newQueryCacheRequest().withUserGivenCacheName(name).withCacheName(UuidUtil.newUnsecureUuidString()).withListener(listener).withPredicate(predicate).withIncludeValue(includeValue).forMap(map).withContext(context);
    return createQueryCache(request);
}
Also used : QueryCacheRequest(com.hazelcast.map.impl.querycache.subscriber.QueryCacheRequest) QueryCacheRequests.newQueryCacheRequest(com.hazelcast.map.impl.querycache.subscriber.QueryCacheRequests.newQueryCacheRequest) QueryCacheContext(com.hazelcast.map.impl.querycache.QueryCacheContext) ClientQueryCacheContext(com.hazelcast.client.impl.querycache.ClientQueryCacheContext)

Example 10 with QueryCacheContext

use of com.hazelcast.map.impl.querycache.QueryCacheContext in project hazelcast by hazelcast.

the class ClientQueryCacheRecoveryUponEventLossTest method setTestSequencer.

private void setTestSequencer(IMap map, int eventCount) {
    ClientMapProxy proxy = (ClientMapProxy) map;
    QueryCacheContext queryCacheContext = proxy.getQueryContext();
    queryCacheContext.setSubscriberContext(new TestClientSubscriberContext(queryCacheContext, eventCount, true));
}
Also used : ClientMapProxy(com.hazelcast.client.proxy.ClientMapProxy) QueryCacheContext(com.hazelcast.map.impl.querycache.QueryCacheContext) TestClientSubscriberContext(com.hazelcast.client.map.querycache.subscriber.TestClientSubscriberContext)

Aggregations

QueryCacheContext (com.hazelcast.map.impl.querycache.QueryCacheContext)15 Accumulator (com.hazelcast.map.impl.querycache.accumulator.Accumulator)5 PublisherContext (com.hazelcast.map.impl.querycache.publisher.PublisherContext)4 TestClientSubscriberContext (com.hazelcast.client.map.querycache.subscriber.TestClientSubscriberContext)2 ClientMapProxy (com.hazelcast.client.proxy.ClientMapProxy)2 QueryCacheEventData (com.hazelcast.map.impl.querycache.event.QueryCacheEventData)2 Sequenced (com.hazelcast.map.impl.querycache.event.sequence.Sequenced)2 MapPublisherRegistry (com.hazelcast.map.impl.querycache.publisher.MapPublisherRegistry)2 PublisherRegistry (com.hazelcast.map.impl.querycache.publisher.PublisherRegistry)2 QueryCacheRequest (com.hazelcast.map.impl.querycache.subscriber.QueryCacheRequest)2 QueryCacheRequests.newQueryCacheRequest (com.hazelcast.map.impl.querycache.subscriber.QueryCacheRequests.newQueryCacheRequest)2 ClientQueryCacheContext (com.hazelcast.client.impl.querycache.ClientQueryCacheContext)1 IMapEvent (com.hazelcast.core.IMapEvent)1 MapService (com.hazelcast.map.impl.MapService)1 MapServiceContext (com.hazelcast.map.impl.MapServiceContext)1 QueryCacheEventService (com.hazelcast.map.impl.querycache.QueryCacheEventService)1 AccumulatorInfo (com.hazelcast.map.impl.querycache.accumulator.AccumulatorInfo)1 EventPublisherAccumulatorProcessor (com.hazelcast.map.impl.querycache.publisher.EventPublisherAccumulatorProcessor)1 PublisherAccumulatorHandler (com.hazelcast.map.impl.querycache.publisher.PublisherAccumulatorHandler)1 InternalQueryCache (com.hazelcast.map.impl.querycache.subscriber.InternalQueryCache)1