Interface JobInstanceDao

All Known Implementing Classes:
JdbcJobInstanceDao

public interface JobInstanceDao
Data Access Object for job instances.
Author:
Lucas Ward, Robert Kasanicky, Michael Minella, Mahmoud Ben Hassine
  • Method Details

    • createJobInstance

      JobInstance createJobInstance(String jobName, JobParameters jobParameters)
      Create a JobInstance with given name and parameters. PreConditions: JobInstance for given name and parameters must not already exist PostConditions: A valid job instance will be returned which has been persisted and contains an unique Id.
      Parameters:
      jobName - String containing the name of the job.
      jobParameters - JobParameters containing the parameters for the JobInstance.
      Returns:
      JobInstance JobInstance instance that was created.
    • getJobInstance

      @Nullable JobInstance getJobInstance(String jobName, JobParameters jobParameters)
      Find the job instance that matches the given name and parameters. If no matching job instances are found, then returns null.
      Parameters:
      jobName - the name of the job
      jobParameters - the parameters with which the job was executed
      Returns:
      JobInstance object matching the job name and JobParameters or null
    • getJobInstance

      @Nullable JobInstance getJobInstance(@Nullable Long instanceId)
      Fetch the job instance with the provided identifier.
      Parameters:
      instanceId - the job identifier
      Returns:
      the job instance with this identifier or null if it doesn't exist
    • getJobInstance

      @Nullable JobInstance getJobInstance(JobExecution jobExecution)
      Fetch the JobInstance for the provided JobExecution.
      Parameters:
      jobExecution - the JobExecution
      Returns:
      the JobInstance for the provided execution or null if it doesn't exist.
    • getJobInstances

      List<JobInstance> getJobInstances(String jobName, int start, int count)
      Fetch the last job instances with the provided name, sorted backwards by primary key. if using the JdbcJobInstance, you can provide the jobName with a wildcard (e.g. *Job) to return 'like' job names. (e.g. *Job will return 'someJob' and 'otherJob')
      Parameters:
      jobName - the job name
      start - the start index of the instances to return
      count - the maximum number of objects to return
      Returns:
      the job instances with this name or empty if none
    • getLastJobInstance

      @Nullable default JobInstance getLastJobInstance(String jobName)
      Fetch the last job instance by Id for the given job.
      Parameters:
      jobName - name of the job
      Returns:
      the last job instance by Id if any or null otherwise
      Since:
      4.2
    • getJobNames

      List<String> getJobNames()
      Retrieve the names of all job instances sorted alphabetically - i.e. jobs that have ever been executed.
      Returns:
      the names of all job instances
    • findJobInstancesByName

      List<JobInstance> findJobInstancesByName(String jobName, int start, int count)
      Fetch the last job instances with the provided name, sorted backwards by primary key, using a 'like' criteria
      Parameters:
      jobName - String containing the name of the job.
      start - int containing the offset of where list of job instances results should begin.
      count - int containing the number of job instances to return.
      Returns:
      a list of JobInstance for the job name requested.
    • getJobInstanceCount

      int getJobInstanceCount(@Nullable String jobName) throws NoSuchJobException
      Query the repository for the number of unique JobInstances associated with the supplied job name.
      Parameters:
      jobName - the name of the job to query for
      Returns:
      the number of JobInstances that exist within the associated job repository
      Throws:
      NoSuchJobException - thrown if no Job has the jobName specified.