Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.util.processor
Class PriorityProcessor

    java.lang.Object
      com.tangosol.util.Base
          com.tangosol.util.BitHelper
              com.tangosol.util.ExternalizableHelper
                  com.tangosol.net.AbstractPriorityTask
                      com.tangosol.util.processor.PriorityProcessor

All Implemented Interfaces:
  ExternalizableLite, PortableObject, PriorityTask, InvocableMap.EntryProcessor, java.io.Serializable

    public class PriorityProcessor

extends AbstractPriorityTask
implements InvocableMap.EntryProcessor, ExternalizableLite, PortableObject

PriorityProcessor is used to explicitly control the scheduling priority and timeouts for execution of EntryProcessor-based methods.

For example, let's assume that there is a cache that belongs to a partitioned cache service configured with a task-timeout of 5 seconds. Also assume that there is a particular PreloadRequest processor that could take much longer to complete due to a large amount of database related processing. Then we could override the default task timeout value by using the PriorityProcessor as follows:

       PreloadRequest     procStandard = PreloadRequest.INSTANCE;
       PriorityProcessor  procPriority = new PriorityProcessor(procStandard);
       procPriority.setExecutionTimeoutMillis(PriorityTask.TIMEOUT_NONE);
       cache.processAll(setKeys, procPriority);

This is an advanced feature which should be used judiciously.

Since:
  Coherence 3.3
Author:
  gg 2007.03.20

Field Summary

Fields inherited from interface com.tangosol.net.PriorityTask
`SCHEDULE_FIRST, SCHEDULE_IMMEDIATE, SCHEDULE_STANDARD, TIMEOUT_DEFAULT, TIMEOUT_NONE`

Constructor Summary
`PriorityProcessor()` Default constructor (necessary for the ExternalizableLite interface).
`PriorityProcessor(InvocableMap.EntryProcessor processor)` Construct a PriorityProcessor.

Method Summary
`InvocableMap.EntryProcessor` | `getProcessor()` Obtain the underlying processor.
`java.lang.Object` | `process(InvocableMap.Entry entry)` Process a Map.Entry object.
`java.util.Map` | `processAll(java.util.Set setEntries)` Process a Set of InvocableMap.Entry objects.
`void` | `readExternal(java.io.DataInput in)` Restore the contents of this object by loading the object's state from the passed DataInput object.
`void` | `readExternal(PofReader in)` Restore the contents of a user type instance by reading its state using the specified PofReader object.
`java.lang.String` | `toString()` Return a human-readable description for this PriorityProcessor.
`void` | `writeExternal(java.io.DataOutput out)` Save the contents of this object by storing the object's state into the passed DataOutput object.
`void` | `writeExternal(PofWriter out)` Save the contents of a POF user type instance by writing its state using the specified PofWriter object.

Methods inherited from class com.tangosol.net.AbstractPriorityTask
`getExecutionTimeoutMillis, getRequestTimeoutMillis, getSchedulingPriority, runCanceled, setExecutionTimeoutMillis, setRequestTimeoutMillis, setSchedulingPriority`

Methods inherited from class com.tangosol.util.BitHelper
`countBits, countBits, countBits, indexOfLSB, indexOfLSB, indexOfLSB, indexOfMSB, indexOfMSB, indexOfMSB, rotateLeft, rotateLeft, rotateLeft, rotateRight, rotateRight, rotateRight, toBitString, toBitString, toBitString`

Constructor Detail

### PriorityProcessor

    public PriorityProcessor()

  Default constructor (necessary for the ExternalizableLite interface).

### PriorityProcessor

    public PriorityProcessor(InvocableMap.EntryProcessor processor)

  Construct a PriorityProcessor.

  Parameters:
    `processor` - the processor wrapped by this PriorityProcessor

Method Detail

### process

    public java.lang.Object process(InvocableMap.Entry entry)

  Process a Map.Entry object.

  Specified by:
    `process` in interface `InvocableMap.EntryProcessor`
  Parameters:
    `entry` - the Entry to process
  Returns:
    the result of the processing, if any

### processAll

    public java.util.Map processAll(java.util.Set setEntries)

  Process a Set of InvocableMap.Entry objects. This method is semantically equivalent to:

         Map mapResults = new ListMap();
         for (Iterator iter = setEntries.iterator(); iter.hasNext(); )
             {
             Entry entry = (Entry) iter.next();
             mapResults.put(entry.getKey(), process(entry));
             }
         return mapResults;

  Specified by:
    `processAll` in interface `InvocableMap.EntryProcessor`
  Parameters:
    `setEntries` - a read-only Set of InvocableMap.Entry objects to process
  Returns:
    a Map containing the results of the processing, up to one entry for each InvocableMap.Entry that was processed, keyed by the keys of the Map that were processed, with a corresponding value being the result of the processing for each key

### getProcessor

    public InvocableMap.EntryProcessor getProcessor()

  Obtain the underlying processor.

  Returns:
    the processor wrapped by this PriorityProcessor

### toString

    public java.lang.String toString()

  Return a human-readable description for this PriorityProcessor.

  Returns:
    a String description of the PriorityProcessor

### readExternal

    public void readExternal(java.io.DataInput in)
                      throws java.io.IOException

  Restore the contents of this object by loading the object's state from the passed DataInput object.

  Specified by:
    `readExternal` in interface `ExternalizableLite`
  Overrides:
    `readExternal` in class `AbstractPriorityTask`
  Parameters:
    `in` - the DataInput stream to read data from in order to restore the state of this object
  Throws:
    `java.io.IOException` - if an I/O exception occurs
    `java.io.NotActiveException` - if the object is not in its initial state, and therefore cannot be deserialized into

### writeExternal

    public void writeExternal(java.io.DataOutput out)
                       throws java.io.IOException

  Save the contents of this object by storing the object's state into the passed DataOutput object.

  Specified by:
    `writeExternal` in interface `ExternalizableLite`
  Overrides:
    `writeExternal` in class `AbstractPriorityTask`
  Parameters:
    `out` - the DataOutput stream to write the state of this object to
  Throws:
    `java.io.IOException` - if an I/O exception occurs

### readExternal

    public void readExternal(PofReader in)
                      throws java.io.IOException

  Restore the contents of a user type instance by reading its state using the specified PofReader object.

  The AbstractPriorityTask implementation reserves property indexes 0 - 9.

  The PriorityProcessor implementation reserves property index 10.

  Specified by:
    `readExternal` in interface `PortableObject`
  Overrides:
    `readExternal` in class `AbstractPriorityTask`
  Parameters:
    `in` - the PofReader from which to read the object's state
  Throws:
    `java.io.IOException` - if an I/O error occurs

### writeExternal

    public void writeExternal(PofWriter out)
                       throws java.io.IOException

  Save the contents of a POF user type instance by writing its state using the specified PofWriter object.

  The AbstractPriorityTask implementation reserves property indexes 0 - 9.

  The PriorityProcessor implementation reserves property index 10.

  Specified by:
    `writeExternal` in interface `PortableObject`
  Overrides:
    `writeExternal` in class `AbstractPriorityTask`
  Parameters:
    `out` - the PofWriter to which to write the object's state
  Throws:
    `java.io.IOException` - if an I/O error occurs

Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle. All rights reserved.