Class PluginTaskExecutor

java.lang.Object
com.xebialabs.xlrelease.domain.tasks.plugin.PluginTaskExecutor
All Implemented Interfaces:
TaskExecutor<com.xebialabs.xlrelease.domain.PluginTask>

@Component public class PluginTaskExecutor extends Object implements TaskExecutor<com.xebialabs.xlrelease.domain.PluginTask>
The one compiled executor behind every plugin-contributed task type.

It ships with the host and never changes per plugin: ScalaExecutionService keys its executor map by compiled task class, and every plugin task is a PluginTask, so this bean lands there like any other built-in with no change to that map's structure.

Like CustomScriptTaskExecutor, it does not run anything itself - it submits a job, and PluginTaskWorker runs the extension on a worker thread. Execution is fire-and-forget; completion is reported by the job updating task state, not by a return value.

  • Constructor Details

    • PluginTaskExecutor

      @Autowired public PluginTaskExecutor(com.xebialabs.xlrelease.scheduler.WorkManager workManager)
  • Method Details

    • getTaskClass

      public Class<com.xebialabs.xlrelease.domain.PluginTask> getTaskClass()
      Specified by:
      getTaskClass in interface TaskExecutor<com.xebialabs.xlrelease.domain.PluginTask>
    • execute

      public void execute(TaskSoftReference<com.xebialabs.xlrelease.domain.PluginTask> taskRef)
      Specified by:
      execute in interface TaskExecutor<com.xebialabs.xlrelease.domain.PluginTask>