@Override public void run() throws Exception { QueryCacheContext context = getQueryCacheContext(); QueryCacheEventService queryCacheEventService = context.getQueryCacheEventService(); EventPublisherAccumulatorProcessor processor = new EventPublisherAccumulatorProcessor(queryCacheEventService); AccumulatorHandler<Sequenced> handler = new PublisherAccumulatorHandler(context, processor); int processed = 0; do { Accumulator accumulator = accumulators.poll(); if (accumulator == null) { break; } if (isLocal()) { // consume the accumulator if only this node is the owner // of accumulators partition publishAccumulator(processor, handler, accumulator); } else { // if the accumulator is not local, it should be a leftover // stayed after partition migrations and remove that accumulator removeAccumulator(context, accumulator); } processed++; } while (processed <= maxProcessableAccumulatorCount); }
@Override public void run() throws Exception { QueryCacheContext context = getQueryCacheContext(); QueryCacheEventService queryCacheEventService = context.getQueryCacheEventService(); EventPublisherAccumulatorProcessor processor = new EventPublisherAccumulatorProcessor(queryCacheEventService); AccumulatorHandler<Sequenced> handler = new PublisherAccumulatorHandler(context, processor); int processed = 0; do { Accumulator accumulator = accumulators.poll(); if (accumulator == null) { break; } if (isLocal()) { // consume the accumulator if only this node is the owner // of accumulators partition publishAccumulator(processor, handler, accumulator); } else { // if the accumulator is not local, it should be a leftover // stayed after partition migrations and remove that accumulator removeAccumulator(context, accumulator); } processed++; } while (processed <= maxProcessableAccumulatorCount); }