Class JobDeclaration<S,T extends JobEntity>

java.lang.Object
org.camunda.bpm.engine.impl.jobexecutor.JobDeclaration<S,T>
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
BatchJobDeclaration, BatchMonitorJobDeclaration, BatchSeedJobDeclaration, EventSubscriptionJobDeclaration, HistoryCleanupJobDeclaration, MessageJobDeclaration, TimerDeclarationImpl

public abstract class JobDeclaration<S,T extends JobEntity> extends Object implements Serializable

A job declaration is associated with an activity in the process definition graph. It provides data about jobs which are to be created when executing this activity. It also acts as a factory for new Job Instances.

Jobs are of a type T and are created in the context of type S (e.g. an execution or an event subscription). An instance of the context class is handed in when a job is created.

Author:
Daniel Meyer
See Also:
  • Field Details

    • jobDefinitionId

      protected String jobDefinitionId
      the id of the associated persistent jobDefinitionId
    • jobHandlerType

      protected String jobHandlerType
    • jobHandlerConfiguration

      protected JobHandlerConfiguration jobHandlerConfiguration
    • jobConfiguration

      protected String jobConfiguration
    • exclusive

      protected boolean exclusive
    • activity

      protected ActivityImpl activity
    • jobPriorityProvider

      protected ParameterValueProvider jobPriorityProvider
  • Constructor Details

    • JobDeclaration

      public JobDeclaration(String jobHandlerType)
  • Method Details

    • createJobInstance

      public T createJobInstance(S context)
      Returns:
      the created Job instances
    • reconfigure

      public T reconfigure(S context, T job)
      Re-initialize configuration part.
    • postInitialize

      protected void postInitialize(S context, T job)
      general callback to override any configuration after the defaults have been applied
    • resolveExecution

      protected abstract ExecutionEntity resolveExecution(S context)
      Returns the execution in which context the job is created. The execution is used to determine the job's priority based on a BPMN activity the execution is currently executing. May be null.
    • newJobInstance

      protected abstract T newJobInstance(S context)
    • getJobDefinitionId

      public String getJobDefinitionId()
    • resolveJobDefinitionId

      protected String resolveJobDefinitionId(S context)
    • setJobDefinitionId

      public void setJobDefinitionId(String jobDefinitionId)
    • getJobHandlerType

      public String getJobHandlerType()
    • resolveJobHandler

      protected JobHandler resolveJobHandler()
    • resolveJobHandlerType

      protected String resolveJobHandlerType(S context)
    • resolveJobHandlerConfiguration

      protected abstract JobHandlerConfiguration resolveJobHandlerConfiguration(S context)
    • resolveExclusive

      protected boolean resolveExclusive(S context)
    • resolveRetries

      protected int resolveRetries(S context)
    • resolveDueDate

      public Date resolveDueDate(S context)
    • isExclusive

      public boolean isExclusive()
    • setExclusive

      public void setExclusive(boolean exclusive)
    • getActivityId

      public String getActivityId()
    • getActivity

      public ActivityImpl getActivity()
    • setActivity

      public void setActivity(ActivityImpl activity)
    • getProcessDefinition

      public ProcessDefinitionImpl getProcessDefinition()
    • getJobConfiguration

      public String getJobConfiguration()
    • setJobConfiguration

      public void setJobConfiguration(String jobConfiguration)
    • getJobPriorityProvider

      public ParameterValueProvider getJobPriorityProvider()
    • setJobPriorityProvider

      public void setJobPriorityProvider(ParameterValueProvider jobPriorityProvider)