Click or drag to resize

PriorityAggregator Class

Oracle® Fusion Middleware .NET API Reference for Oracle Coherence
14c (14.1.1.0)
F23534-02
PriorityAggregator is used to explicitly control the scheduling priority and timeouts for execution of IEntryAggregator -based methods.
Inheritance Hierarchy
SystemObject
  Tangosol.NetAbstractPriorityTask
    Tangosol.Util.AggregatorPriorityAggregator

Namespace:  Tangosol.Util.Aggregator
Assembly:  Coherence (in Coherence.dll) Version: 14.1.1.14 (14.1.1.14)
Syntax
C#
public class PriorityAggregator : AbstractPriorityTask, 
	IParallelAwareAggregator, IEntryAggregator, IPortableObject

The PriorityAggregator type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyAggregator
Obtain the underlying aggregator.
Public propertyExecutionTimeoutMillis
The maximum amount of time this task is allowed to run before the corresponding service will attempt to stop it.
(Inherited from AbstractPriorityTask.)
Public propertyParallelAggregator
Get an aggregator that can take the place of this aggregator in situations in which the IInvocableCache can aggregate in parallel.
Public propertyRequestTimeoutMillis
The maximum amount of time a calling thread is willing to wait for a result of the request execution.
(Inherited from AbstractPriorityTask.)
Public propertySchedulingPriority
This task's scheduling priority.
(Inherited from AbstractPriorityTask.)
Top
Methods
  NameDescription
Public methodAggregate
Process a set of IInvocableCacheEntry objects in order to produce an aggregated result.
Public methodAggregateResults
Aggregate the results of the parallel aggregations.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodReadExternal
Restore the contents of a user type instance by reading its state using the specified IPofReader object.
(Overrides AbstractPriorityTaskReadExternal(IPofReader).)
Public methodRunCanceled
This method will be called if and only if all attempts to interrupt this task were unsuccesful in stopping the execution or if the execution was canceled before it had a chance to run at all.
(Inherited from AbstractPriorityTask.)
Public methodToString
Return a human-readable description for this PriorityAggregator.
(Overrides ObjectToString.)
Public methodWriteExternal
Save the contents of a POF user type instance by writing its state using the specified IPofWriter object.
(Overrides AbstractPriorityTaskWriteExternal(IPofWriter).)
Top
Remarks
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:
DoubleAverage      aggrStandard = new DoubleAverage("Price");
PriorityAggregator aggrPriority = new PriorityAggregator(aggrStandard);
aggrPriority.ExecutionTimeoutMillis = PriorityTaskTimeout.None;
aggrPriority.RequestTimeoutMillis   = PriorityTaskTimeout.None;
cacheOrders.Aggregate(null, aggrPriority);
This is an advanced feature which should be used judiciously.
See Also