public interface WorkManager
WorkManager which provides a facility
 to submit Work instances for execution. This frees the user
 from having to create Java threads directly to do work. Further, this
 allows efficient pooling of thread resources and more control over thread
 usage.
 The various stages in Work processing are:
 Work instance is being submitted for 
 execution. The Work instance could either be accepted or 
 rejected with a WorkRejectedException set to an appropriate
 error code. Work instance has been 
 accepted. The accepted Work instance could either start 
 execution or could be rejected again with a 
 WorkRejectedException set to an appropriate error code.
 There is no guarantee on when the  execution would start unless a start 
 timeout duration is specified. When a start timeout is specified, the 
 Work execution must be started within the specified  
 duration (not a  real-time guarantee), failing which a 
 WorkRejectedException set to an error code 
 (WorkRejected.TIMED_OUT) is thrown. Work instance has  been rejected. 
 The Work instance could be rejected during Work
 submittal  or after the Work instance has been accepted 
 (but before Work instance starts execution). The rejection could be due 
 to internal factors or start timeout expiration. A 
 WorkRejectedException with an appropriate error code 
 (indicates the reason) is thrown in both cases. Work 
 instance has started. This means that a thread
 has been allocated for its execution. But this  
 does not guarantee that the allocated thread has been scheduled to run 
 on a CPU resource. Once execution is started, the allocated thread 
 sets up an appropriate execution context (transaction , security, etc)
 and calls Work.run(). Note, any exception thrown during execution context
 setup or Work.run() leads to completion of processing. Work has been 
 completed. The execution could complete with or without an exception.
 The WorkManager catches any exception thrown during 
 Work processing (which includes execution context setup), 
 and wraps it with a WorkCompletedException. | Modifier and Type | Field and Description | 
|---|---|
| static long | IMMEDIATEA constant to indicate timeout duration. | 
| static long | INDEFINITEA constant to indicate timeout duration. | 
| static long | UNKNOWNA constant to indicate an unknown start delay duration or other unknown
 values. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | doWork(Work work)Accepts a  Workinstance for processing. | 
| void | doWork(Work work,
      long startTimeout,
      ExecutionContext execContext,
      WorkListener workListener)Accepts a  Workinstance for processing. | 
| void | scheduleWork(Work work)Accepts a  Workinstance for processing. | 
| void | scheduleWork(Work work,
            long startTimeout,
            ExecutionContext execContext,
            WorkListener workListener)Accepts a  Workinstance for processing. | 
| long | startWork(Work work)Accepts a  Workinstance for processing. | 
| long | startWork(Work work,
         long startTimeout,
         ExecutionContext execContext,
         WorkListener workListener)Accepts a  Workinstance for processing. | 
static final long IMMEDIATE
static final long INDEFINITE
static final long UNKNOWN
void doWork(Work work) throws WorkException
Work instance for processing. This call
 blocks until the Work instance completes execution.
 There is no guarantee on when the accepted Work 
 instance would start execution ie., there is no time constraint 
 to start execution. (that is, startTimeout=INDEFINITE)work - The unit of work to be done.  
 Could be long or short-lived.WorkRejectedException - indicates that a 
 Work instance has been rejected from further processing.
 This can occur due to internal factors.WorkCompletedException - indicates that a
 Work instance has completed execution with an exception.WorkExceptionvoid doWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener) throws WorkException
Work instance for processing. This call
 blocks until the Work instance completes execution.work - The unit of work to be done.  
 Could be long or short-lived.startTimeout - a time duration (in milliseconds) 
 within which the execution of the Work instance must
 start. Otherwise, the Work instance is rejected with a
 WorkRejectedException set to an appropriate error code 
 (WorkRejectedException.TIMED_OUT). Note, this
 does not offer real-time guarantees.execContext - an object containing the execution
 context with which the submitted Work instance must
 be executed.workListener - an object which would be notified
 when the various Work processing events (work accepted, 
 work rejected, work started, work completed) occur.WorkRejectedException - indicates that a 
 Work instance has been rejected from further processing.
 This can occur due to internal factors or start timeout expiration.WorkCompletedException - indicates that a
 Work instance has completed execution with an exception.WorkExceptionlong startWork(Work work) throws WorkException
Work instance for processing. This call
 blocks until the Work instance starts execution
 but not until its completion. There is no guarantee on when
 the accepted Work instance would start
 execution ie., there is no time constraint to start execution.
 (that is, startTimeout=INDEFINITE)work - The unit of work to be done.  
 Could be long or short-lived.Work
 acceptance until start of execution. Note, this does not offer 
 real-time guarantees. It is valid to return -1, if the actual start 
 delay duration is unknown.WorkRejectedException - indicates that a 
 Work instance has been rejected from further processing.
 This can occur due to internal factors.WorkExceptionlong startWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener) throws WorkException
Work instance for processing. This call
 blocks until the Work instance starts execution
 but not until its completion. There is no guarantee on when
 the accepted Work instance would start
 execution ie., there is no time constraint to start execution.work - The unit of work to be done.  
 Could be long or short-lived.startTimeout - a time duration (in milliseconds) 
 within which the execution of the Work instance must
 start. Otherwise, the Work instance is rejected with a
 WorkRejectedException set to an appropriate error code 
 (WorkRejectedException.TIMED_OUT). Note, this
 does not offer real-time guarantees.execContext - an object containing the execution
 context with which the submitted Work instance must
 be executed.workListener - an object which would be notified
 when the various Work processing events (work accepted, 
 work rejected, work started, work completed) occur.Work
 acceptance until start of execution. Note, this does not offer 
 real-time guarantees. It is valid to return -1, if the actual start 
 delay duration is unknown.WorkRejectedException - indicates that a 
 Work instance has been rejected from further processing.
 This can occur due to internal factors or start timeout expiration.WorkExceptionvoid scheduleWork(Work work) throws WorkException
Work instance for processing. This call
 does not block and returns immediately once a Work
 instance has been accepted for processing. There is no guarantee
 on when the submitted Work instance would start
 execution ie., there is no time constraint to start execution.
 (that is, startTimeout=INDEFINITE).work - The unit of work to be done.  
 Could be long or short-lived.WorkRejectedException - indicates that a 
 Work instance has been rejected from further processing.
 This can occur due to internal factors.WorkExceptionvoid scheduleWork(Work work, long startTimeout, ExecutionContext execContext, WorkListener workListener) throws WorkException
Work instance for processing. This call
 does not block and returns immediately once a Work
 instance has been accepted for processing.work - The unit of work to be done. 
 Could be long or short-lived.startTimeout - a time duration (in milliseconds) 
 within which the execution of the Work instance must
 start. Otherwise, the Work instance is rejected with a
 WorkRejectedException set to an appropriate error code 
 (WorkRejectedException.TIMED_OUT). Note, this
 does not offer real-time guarantees.execContext - an object containing the execution
 context with which the submitted Work instance must
 be executed.workListener - an object which would be notified
 when the various Work processing events (work accepted, 
 work rejected, work started, work completed) occur.WorkRejectedException - indicates that a 
 Work instance has been rejected from further processing.
 This can occur due to internal factors.WorkExceptionCopyright © 1996-2015, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.