public class AsyncTaskScheduler extends AbstractAsyncServiceScheduler
AbstractAsyncServiceScheduler.AsyncServiceSchedulerStatus
Constructor and Description |
---|
AsyncTaskScheduler(AsyncServiceSchedulerResultsReceiver resultsReceiver,
int poolSize,
RestorePartitionOperatorFactory restoreOperatorFactory)
Constructs new AsyncTaskScheduler with given pool size.
|
AsyncTaskScheduler(AsyncServiceSchedulerResultsReceiver resultsReceiver,
int poolSize,
RestorePartitionOperatorFactory restoreOperatorFactory,
int requestQueueSize)
Constructs new AsyncTaskScheduler with given pool size.
|
AsyncTaskScheduler(AsyncServiceSchedulerResultsReceiver resultsReceiver,
RestorePartitionOperatorFactory restoreOperatorFactory,
int availableCores)
Constructs new AsyncTaskScheduler, calculating ideal pool size from number of available cores.
|
AsyncTaskScheduler(AsyncServiceSchedulerResultsReceiver resultsReceiver,
RestorePartitionOperatorFactory restoreOperatorFactory,
int availableCores,
int requestQueueSize)
Constructs new AsyncTaskScheduler, calculating ideal pool size from number of available cores.
|
Modifier and Type | Method and Description |
---|---|
boolean |
pause()
Pauses AsyncTaskScheduler.
|
protected void |
processRequestFromRequestQueue(MessageRequest request)
Handles a request that has been pulled from the request queue, constructing the Runnable and submitting it to the
thread pool.
|
boolean |
resume()
Resumes AsyncTaskScheduler.
|
boolean |
shutdown()
Shuts down the AsyncTaskScheduler, cleaning up resources.
|
boolean |
startUp()
Starts up the AsyncTaskScheduler, so it is ready to consume and process requests.
|
MessageStatusCode |
submitRequest(MessageRequest request)
Submits an
AsyncTaskRequest to AsyncTaskScheduler. |
getResultsReceiver, getStatus
public AsyncTaskScheduler(AsyncServiceSchedulerResultsReceiver resultsReceiver, int poolSize, RestorePartitionOperatorFactory restoreOperatorFactory)
resultsReceiver
- subscriber to send responses topoolSize
- number of threads in the asyncTaskScheduler's thread poolrestoreOperatorFactory
- factory for generating RestorePartitionOperators
AsyncServiceSchedulerResultsReceiver.reportServiceSchedulerResponse(MessageResponse)
.public AsyncTaskScheduler(AsyncServiceSchedulerResultsReceiver resultsReceiver, int poolSize, RestorePartitionOperatorFactory restoreOperatorFactory, int requestQueueSize)
resultsReceiver
- subscriber to send responses topoolSize
- number of threads in the asyncTaskScheduler's thread poolrestoreOperatorFactory
- factory for generating RestorePartitionOperatorsrequestQueueSize
- maximum capacity of the request queue
AsyncServiceSchedulerResultsReceiver.reportServiceSchedulerResponse(MessageResponse)
.public AsyncTaskScheduler(AsyncServiceSchedulerResultsReceiver resultsReceiver, RestorePartitionOperatorFactory restoreOperatorFactory, int availableCores)
resultsReceiver
- subscriber to send responses torestoreOperatorFactory
- factory for generating RestorePartitionOperatorsavailableCores
- number of cores available to the AsyncTaskScheduler
AsyncServiceSchedulerResultsReceiver.reportServiceSchedulerResponse(MessageResponse)
.public AsyncTaskScheduler(AsyncServiceSchedulerResultsReceiver resultsReceiver, RestorePartitionOperatorFactory restoreOperatorFactory, int availableCores, int requestQueueSize)
resultsReceiver
- subscriber to send responses torestoreOperatorFactory
- factory for generating RestorePartitionOperatorsavailableCores
- number of cores available to the AsyncTaskSchedulerrequestQueueSize
- maximum capacity of the request queue
AsyncServiceSchedulerResultsReceiver.reportServiceSchedulerResponse(MessageResponse)
.public MessageStatusCode submitRequest(MessageRequest request)
AsyncTaskRequest
to AsyncTaskScheduler. Schedules request to be executed
asynchronously.submitRequest
in class AbstractAsyncServiceScheduler
request
- - the request to be scheduled.UnsupportedOperationException
- if request type is not a valid AsyncTaskRequest type
(either RESTORE_FTPS or RECONCILE_FTPS)NullPointerException
- if request is nullprotected void processRequestFromRequestQueue(MessageRequest request)
processRequestFromRequestQueue
in class AbstractAsyncServiceScheduler
request
- the request that was pulled from the request queue.public boolean startUp()
startUp
in class AbstractAsyncServiceScheduler
public boolean shutdown()
shutdown
in class AbstractAsyncServiceScheduler
public boolean pause()
pause
in class AbstractAsyncServiceScheduler
public boolean resume()
resume
in class AbstractAsyncServiceScheduler