the type of the Map entry keys
the type of the Map entry values
the type of the final result
Construct a new PriorityAggregator
.
the aggregator wrapped by this PriorityAggregator
Server-side EntryAggregator implementation type identifier.
The wrapped EntryAggregator.
The extractor.ValueExtractor to apply when aggregating results.
Return the execution timeout in milliseconds.
the execution timeout in milliseconds
Sets the execution timeout.
the new execution timeout in milliseconds
the execution timeout in milliseconds
Return the request timeout in milliseconds.
the request timeout in milliseconds
Sets the request timeout.
the new request timeout in milliseconds
the request timeout in milliseconds
Return the scheduling priority or, if not explicitly set, the default is Schedule.STANDARD.
the scheduling priority, if not explicitly set, the default is Schedule.STANDARD
Set the scheduling priority.
the scheduling priority
the scheduling priority, if not explicitly set, the default is Schedule.STANDARD
Returns a CompositeAggregator comprised of this and the provided aggregator.
the next aggregator
a CompositeAggregator comprised of this and the provided aggregator
PriorityAggregator
is used to explicitly control the scheduling priority and timeouts for execution of EntryAggregator-based methods.For example, let's assume that there is an `Orders`` cache that belongs to a partitioned cache service configured with a *request-timeout* and *task-timeout* of 5 seconds. Also assume that we are willing to wait longer for a particular aggregation request that scans the entire cache. Then we could override the default timeout values by using the PriorityAggregator as follows:
const sumAggr = new SumAggregator('cost') const priorityAgg = new PriorityAggregator(sumAggr) priorityAgg.executionTimeout = Timeout.NONE priorityAgg.requestTimeout = Timeout.NONE cacheOrders.aggregate(aFilter, priorityAgg)
This is an advanced feature which should be used judiciously.