|
Oracle® Fusion Middleware Java API Reference for Oracle Coherence 12c (12.1.3.0.0) E47890-01 |
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.BitHelper
com.tangosol.util.ExternalizableHelper
com.tangosol.net.AbstractPriorityTask
com.tangosol.util.processor.PriorityProcessor
public class PriorityProcessor
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.
| 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, toBytes, toBytes, toBytes, toBytes, toInt, toInt, toLong, toLong |
| Constructor Detail |
|---|
public PriorityProcessor()
public PriorityProcessor(InvocableMap.EntryProcessor processor)
processor - the processor wrapped by this PriorityProcessor| Method Detail |
|---|
public java.lang.Object process(InvocableMap.Entry entry)
process in interface InvocableMap.EntryProcessorentry - the Entry to process Note: if this method throws an exception, all modifications to the supplied entry or any other entries retrieved via the BackingMapContext.getBackingMapEntry(java.lang.Object) API will be rolled back leaving all underlying values unchanged.public java.util.Map processAll(java.util.Set setEntries)
Map mapResults = new ListMap();
for (Iterator iter = setEntries.iterator(); iter.hasNext(); )
{
Entry entry = (Entry) iter.next();
mapResults.put(entry.getKey(), process(entry));
}
return mapResults;
Note: if processAll() call throws an exception, only the entries that were removed from the setEntries would be considered successfully processed and the corresponding changes made to the underlying Map; changes made to the remaining entries or any other entries obtained from BackingMapContext.getBackingMapEntry(java.lang.Object) will not be processed.processAll in interface InvocableMap.EntryProcessorsetEntries - a Set of InvocableMap.Entry objects to processpublic InvocableMap.EntryProcessor getProcessor()
public java.lang.String toString()
public void readExternal(java.io.DataInput in)
throws java.io.IOException
readExternal in interface ExternalizableLitereadExternal in class AbstractPriorityTaskin - the DataInput stream to read data from in order to restore the state of this objectjava.io.IOException - if an I/O exception occursjava.io.NotActiveException - if the object is not in its initial state, and therefore cannot be deserialized into
public void writeExternal(java.io.DataOutput out)
throws java.io.IOException
writeExternal in interface ExternalizableLitewriteExternal in class AbstractPriorityTaskout - the DataOutput stream to write the state of this object tojava.io.IOException - if an I/O exception occurs
public void readExternal(PofReader in)
throws java.io.IOException
The AbstractPriorityTask implementation reserves property indexes 0 - 9.
The PriorityProcessor implementation reserves property index 10.
readExternal in interface PortableObjectreadExternal in class AbstractPriorityTaskin - the PofReader from which to read the object's statejava.io.IOException - if an I/O error occurs
public void writeExternal(PofWriter out)
throws java.io.IOException
The AbstractPriorityTask implementation reserves property indexes 0 - 9.
The PriorityProcessor implementation reserves property index 10.
writeExternal in interface PortableObjectwriteExternal in class AbstractPriorityTaskout - the PofWriter to which to write the object's statejava.io.IOException - if an I/O error occurs
|
Oracle® Fusion Middleware Java API Reference for Oracle Coherence 12c (12.1.3.0.0) E47890-01 |
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||