|
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 PriorityProcessorMethod Detail |
---|
public java.lang.Object process(InvocableMap.Entry entry)
process
in interface InvocableMap.EntryProcessor
entry
- 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.EntryProcessor
setEntries
- 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 ExternalizableLite
readExternal
in class AbstractPriorityTask
in
- 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 intopublic void writeExternal(java.io.DataOutput out) throws java.io.IOException
writeExternal
in interface ExternalizableLite
writeExternal
in class AbstractPriorityTask
out
- the DataOutput stream to write the state of this object tojava.io.IOException
- if an I/O exception occurspublic 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 PortableObject
readExternal
in class AbstractPriorityTask
in
- the PofReader from which to read the object's statejava.io.IOException
- if an I/O error occurspublic 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 PortableObject
writeExternal
in class AbstractPriorityTask
out
- 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 |