Package org.apache.batchee.container.impl.controller

## Class JobThreadRootController

- java.lang.Object
- - org.apache.batchee.container.impl.controller.JobThreadRootController

- All Implemented Interfaces:
    `Controller`, `ThreadRootController`
  Direct Known Subclasses:
    `FlowInSplitThreadRootController`, `JobController`, `PartitionThreadRootController`

      public abstract class JobThreadRootController
      extends Object
      implements ThreadRootController

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected JobContextImpl` | `jobContext` |
    `protected RuntimeJobExecution` | `jobExecution` |
    `protected long` | `jobInstanceId` |
    `protected ModelNavigator<JSLJob>` | `jobNavigator` |
    `protected JobStatusManagerService` | `jobStatusService` |
    `protected ServicesManager` | `manager` |
    `protected StepContextImpl` | `parentStepContext` |
    `protected PersistenceManagerService` | `persistenceService` |
    `protected long` | `rootJobExecutionId` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JobThreadRootController​(RuntimeJobExecution jobExecution, long rootJobExecutionId, ServicesManager servicesManager)` |
    `JobThreadRootController​(RuntimeJobExecution jobExecution, BlockingQueue<PartitionDataWrapper> analyzerQueue, ServicesManager servicesManager)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `batchStatusFailedFromException()` |
    `protected void` | `batchStatusStopping()` |
    `protected void` | `endOfJob()` |
    `List<Long>` | `getLastRunStepExecutions()` |
    `protected void` | `jobListenersBeforeJob()` |
    `protected void` | `jslStop()` |
    `protected void` | `markJobStarted()` |
    `ExecutionStatus` | `originateExecutionOnThread()` |
    `void` | `setParentStepContext​(StepContextImpl parentStepContext)` |
    `void` | `stop()` |
    `protected void` | `updateJobBatchStatus​(javax.batch.runtime.BatchStatus batchStatus)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### jobExecution

          protected final RuntimeJobExecution jobExecution

    - #### jobContext

          protected final JobContextImpl jobContext

    - #### rootJobExecutionId

          protected final long rootJobExecutionId

    - #### jobInstanceId

          protected final long jobInstanceId

    - #### jobNavigator

          protected final ModelNavigator<JSLJob> jobNavigator

    - #### jobStatusService

          protected final JobStatusManagerService jobStatusService

    - #### persistenceService

          protected final PersistenceManagerService persistenceService

    - #### manager

          protected final ServicesManager manager

    - #### parentStepContext

          protected StepContextImpl parentStepContext

  - ### Constructor Detail

    - #### JobThreadRootController

          public JobThreadRootController​(RuntimeJobExecution jobExecution,
                                         long rootJobExecutionId,
                                         ServicesManager servicesManager)

    - #### JobThreadRootController

          public JobThreadRootController​(RuntimeJobExecution jobExecution,
                                         BlockingQueue<PartitionDataWrapper> analyzerQueue,
                                         ServicesManager servicesManager)

  - ### Method Detail

    - #### originateExecutionOnThread

          public ExecutionStatus originateExecutionOnThread()

      Specified by:
        `originateExecutionOnThread` in interface `ThreadRootController`

    - #### jslStop

          protected void jslStop()

    - #### markJobStarted

          protected void markJobStarted()

    - #### endOfJob

          protected void endOfJob()

    - #### updateJobBatchStatus

          protected void updateJobBatchStatus​(javax.batch.runtime.BatchStatus batchStatus)

    - #### batchStatusStopping

          protected void batchStatusStopping()

    - #### stop

          public void stop()

      Specified by:
        `stop` in interface `Controller`

    - #### jobListenersBeforeJob

          protected void jobListenersBeforeJob()

    - #### batchStatusFailedFromException

          protected void batchStatusFailedFromException()

    - #### getLastRunStepExecutions

          public List<Long> getLastRunStepExecutions()

      Specified by:
        `getLastRunStepExecutions` in interface `Controller`

    - #### setParentStepContext

          public void setParentStepContext​(StepContextImpl parentStepContext)

      Specified by:
        `setParentStepContext` in interface `ThreadRootController`