Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.1.0

E18814-01


com.tangosol.net
Class AbstractPriorityTask

java.lang.Object
  extended by com.tangosol.util.Base
      extended by com.tangosol.util.BitHelper
          extended by com.tangosol.util.ExternalizableHelper
              extended by com.tangosol.net.AbstractPriorityTask

All Implemented Interfaces:
ExternalizableLite, PortableObject, PriorityTask, java.io.Serializable
Direct Known Subclasses:
PriorityAggregator, PriorityFilter, PriorityProcessor

public abstract class AbstractPriorityTask
extends ExternalizableHelper
implements PriorityTask, ExternalizableLite, PortableObject

An abstract base for PriorityTask implementations. It implements all PriorityTask interface methods and is intended to be extended for concrete uses.

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
AbstractPriorityTask()
           

 

Method Summary
 long getExecutionTimeoutMillis()
          Obtain the maximum amount of time this task is allowed to run before the corresponding service will attempt to stop it.
 long getRequestTimeoutMillis()
          Obtain the maximum amount of time a calling thread is willing to wait for a result of the request execution.
 int getSchedulingPriority()
          Obtain this task's scheduling priority.
 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. The AbstractPriorityTask implementation reserves property indexes 0 - 9.
 void runCanceled(boolean fAbandoned)
          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. This implementation is a no-op.
 void setExecutionTimeoutMillis(long lTimeout)
          Specify the maximum amount of time this task is allowed to run before the corresponding service will attempt to stop it.
 void setRequestTimeoutMillis(long lTimeout)
          Specify the maximum amount of time a calling thread is willing to wait for a result of the request execution.
 void setSchedulingPriority(int iPriority)
          Specify this task's scheduling priority.
 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. The AbstractPriorityTask implementation reserves property indexes 0 - 9.

 

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

AbstractPriorityTask

public AbstractPriorityTask()

Method Detail

getSchedulingPriority

public int getSchedulingPriority()
Obtain this task's scheduling priority. Valid values are one of the SCHEDULE_* constants.
Specified by:
getSchedulingPriority in interface PriorityTask
Returns:
this task's scheduling priority

getExecutionTimeoutMillis

public long getExecutionTimeoutMillis()
Obtain the maximum amount of time this task is allowed to run before the corresponding service will attempt to stop it.

The value of TIMEOUT_DEFAULT indicates a default timeout value configured for the corresponding service; the value of TIMEOUT_NONE indicates that this task can execute indefinitely.

If, by the time the specified amount of time passed, the task has not finished, the service will attempt to stop the execution by using the Thread.interrupt() method. In the case that interrupting the thread does not result in the task's termination, the PriorityTask.runCanceled(boolean) method will be called.

Specified by:
getExecutionTimeoutMillis in interface PriorityTask
Returns:
the execution timeout value in millisecods or one of the special TIMEOUT_* values

getRequestTimeoutMillis

public long getRequestTimeoutMillis()
Obtain the maximum amount of time a calling thread is willing to wait for a result of the request execution. The request time is measured on the client side as the time elapsed from the moment a request is sent for execution to the corresponding server node(s) and includes:

The value of TIMEOUT_DEFAULT indicates a default timeout value configured for the corresponding service; the value of TIMEOUT_NONE indicates that the client thread is willing to wait indefinitely until the task execution completes or is canceled by the service due to a task execution timeout specified by the PriorityTask.getExecutionTimeoutMillis() value.

If the specified amount of time elapsed and the client has not received any response from the server, an RequestTimeoutException will be thrown to the caller.

Specified by:
getRequestTimeoutMillis in interface PriorityTask
Returns:
the request timeout value in milliseconds or one of the special TIMEOUT_* values

runCanceled

public void runCanceled(boolean fAbandoned)
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.

Since this method is usually called on a service thread, implementors must exercise extreme caution since any delay introduced by the implementation will cause a delay of the corresponding service.

This implementation is a no-op.

Specified by:
runCanceled in interface PriorityTask
Parameters:
fAbandoned - true if the task has timed-out, but all attempts to interrupt it were unsuccesful in stopping the execution; otherwise the task was never started

setSchedulingPriority

public void setSchedulingPriority(int iPriority)
Specify this task's scheduling priority. Valid values are one of the SCHEDULE_* constants.
Parameters:
iPriority - this task's scheduling priority

setExecutionTimeoutMillis

public void setExecutionTimeoutMillis(long lTimeout)
Specify the maximum amount of time this task is allowed to run before the corresponding service will attempt to stop it.
Parameters:
lTimeout - the task timeout value in milliseconds

setRequestTimeoutMillis

public void setRequestTimeoutMillis(long lTimeout)
Specify the maximum amount of time a calling thread is willing to wait for a result of the request execution.
Parameters:
lTimeout - the request timeout value in milliseconds

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
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
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.

Specified by:
readExternal in interface PortableObject
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.

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

Skip navigation links

Oracle® Coherence Java API Reference
Release 3.6.1.0

E18814-01


Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.