Interface ServerTask<V>

All Superinterfaces:
Callable<V>, JsonSerialization, Task

public interface ServerTask<V> extends Callable<V>, Task
An interface representing a deployed server task. The task will be accessible by the name returned by Task.getName() Before the execution, TaskContext is injected into the task to provide EmbeddedCacheManager, Cache, Marshaller and parameters.
Author:
Michal Szynkiewicz <michal.l.szynkiewicz@gmail.com>
  • Method Details

    • setTaskContext

      void setTaskContext(TaskContext taskContext)
      Sets the task context Store the value in your task implementation to be able to access caches and other resources in the task Note that, if Task.getInstantiationMode() is TaskInstantiationMode.SHARED there will be single instance of each ServerTask on each server so, if you expect concurrent invocations of a task, the TaskContext should be stored in a ThreadLocal static field in your task. The TaskContext should then be obtained during the task's Callable.call() method and removed from the ThreadLocal. Alternatively use TaskInstantiationMode.ISOLATED.
      Parameters:
      taskContext - task execution context
    • getType

      default String getType()
      Description copied from interface: Task
      Returns the type of task. This is dependent on the specific implementation.
      Specified by:
      getType in interface Task