Interface TaskService

All Known Implementing Classes:
SimpleTaskService

public interface TaskService
Tracks a listing of TaskIds and their associated Consumer instances for tracking the results of the task.
  • Method Details

    • start

      void start()
      Starts the TaskService and makes it available to begin accepting tasks.
    • stop

      void stop()
      Stops the TaskService and makes it unavailable to accept tasks. Andy pending tasks are completed with an exception and all references cleared.
    • register

      void register(TaskId taskId, Consumer<Object> consumer, Consumer<Throwable> throwableTConsumer)
      Registers a new TaskId and set of consumers to handle the results.
      Parameters:
      taskId - the TaskId
      consumer - the Consumer for the result.
      throwableTConsumer -
    • finishWithResult

      boolean finishWithResult(TaskId taskId, Object result)
      Finishes a task with the supplied result. In completing the task, references are immediately cleared and no further messages can be sent to that TaskId. As not all tasks are registered with a set of listeners, this may simply return false indicating that no listeners were notified.
      Parameters:
      taskId - the TaskId
      result - the Object that is the result of completing the task
    • finishWithError

      boolean finishWithError(TaskId taskId, Throwable error)
      Fails a task with the supplied Throwable, indicating an error. In completing the task, references are immediately cleared and no further messages can be sent to that TaskId. As not all tasks are registered with a set of listeners, this may simply return false indicating that no listeners were notified.
      Parameters:
      taskId - the TaskId
      error - the Throwable that is the result of failing the task